simDev1234
심플하고 차분하게
simDev1234
전체 방문자
오늘
어제
  • 분류 전체보기
    • Computer Science
      • Basic Math
      • Data Structure
      • Algorithm
      • Database
      • OS
    • Language
      • Java
      • Kotlin
      • SQL
    • Framework
      • Spring
      • Orm&Mapper
      • 프로젝트로 스프링 이해하기
      • 스프링 라이브러리
    • Infra
      • Cloud
      • Docker
      • Redis
      • AWS, Azure
      • Device
    • Etc
      • CleanCoding
    • Git,Github

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자바프로그램
  • 자바프로그래밍
  • 참조변수
  • 자바메모리구조
  • 스프링
  • controllerTest
  • 참조타입
  • JVM메모리구조
  • null
  • 자바
  • 컨트롤러
  • scanner #next() #nextLine()
  • 404

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
simDev1234

심플하고 차분하게

[ 코딩 연습] 클래스와 메서드_올해 띠, 간지, 나이 구하기
Language/Java

[ 코딩 연습] 클래스와 메서드_올해 띠, 간지, 나이 구하기

2022. 3. 12. 17:55

현재 디렉토리

 

1. 먼저 myutil 패키지 안에 myInfo클래스를 형성하고, 메소드를 작성했다.

-- 메서드 앞 public 접근제어자 : 어디서든 이 메서드 접근 가능

-- 메서드 앞 static 제어자 없음 : 인스턴스 형성 후 이 메서드 사용 가능

package myutil;

import java.util.Calendar;

public class MyInfo {
	
	//1. 띠 구하기
	//십이지 : 신유술해자축인묘진사오미 (0~11) 
	//식 : (현재년도 % 12)번째 십이지 (입 : int year, 출 : String)
	public String getTti(int year) {
		String[] Tti = {"원숭이", "닭", "개", "돼지","쥐", "소", "호랑이", 
		        "토끼","용","뱀", "말", "양",};
		int n = year % 12;
		return Tti[n];
	}
	
	//2. 간지 구하기
	//간지 : 경신임계갑을병정무기(0~9)
	//십이지 : 신유술해자축인묘진사오미 (0~11)
	//식 : (현재년도 % 10)번째 간지 + (현재년도 %12)번째 십이지 (입 : int year, 출 : String)
	public String getGanji(int year) {
		String[] Ganji = {"경","신","임","계","갑","을","병","정","무","기"};
		String[] Tti = {"신","유","술","해","자","축","인","묘","진","사","오","미"};
		int g = year % 10;
		int t = year % 12;
		
		return Ganji[g]+Tti[t];
	}
	
	
	//3. 출생년도로부터 나이 구하기 (입 : int year, 출 : int age)
	//   식 : 현재년도 - 출생년도 + 1
	public int getAge(int year) {
		//현재 년도
		Calendar c = Calendar.getInstance();
		int current_year = c.get(Calendar.YEAR);
		
		//식
		int age = current_year - year + 1;
		return age;
	}
}

 

2. mymain.Main1.java의 메인 함수에서 출력을 했다.

package mymain;

import java.util.Calendar;
import java.util.Scanner;

import myutil.MyInfo;

public class Main1 {

	public static void main(String[] args) {
		//출생년도를 통해 올해 띠, 간지, 나의 나이 구하기
		
		Scanner scanner = new Scanner(System.in);
		MyInfo myinfo = new MyInfo();
		Calendar c = Calendar.getInstance();
		
		System.out.print("당신의 출생년도를 입력하세요(ex.1994) : ");
		int user_year = scanner.nextInt();
		
		int current_year = c.get(Calendar.YEAR);
		
		System.out.printf("올해는 %d이며 %s의 해입니다.%n",current_year,myinfo.getTti(current_year));
		System.out.printf("올해는 %d이며 %s년입니다.%n",current_year,myinfo.getGanji(current_year));
		System.out.printf("올해는 %d이며 당신은 %d살이 되었습니다.%n",current_year,myinfo.getAge(user_year));
		
		scanner.close();
	}

}

>> 결과

당신의 출생년도를 입력하세요(ex.1994) : 1400
올해는 2022이며 호랑이의 해입니다.
올해는 2022이며 임인년입니다.
올해는 2022이며 당신은 623살이 되었습니다.

'Language > Java' 카테고리의 다른 글

[자바의 정석_복습] 포함관계_Deck과 Card예시  (0) 2022.03.13
[자바의정석_복습] 객체지향 프로그래밍2 - 상속, 다형성  (0) 2022.03.12
[자바_복습] 제어문 활용_최대값/키보드 버퍼 문자 읽기/사칙연산/제곱과 팩토리  (0) 2022.03.12
[자바_복습] 중첩for문 활용_구구단/행렬/별찍기  (0) 2022.03.11
[자바_복습] 제어문 예시 - 조건문과 반복문 각각  (0) 2022.03.08
    'Language/Java' 카테고리의 다른 글
    • [자바의 정석_복습] 포함관계_Deck과 Card예시
    • [자바의정석_복습] 객체지향 프로그래밍2 - 상속, 다형성
    • [자바_복습] 제어문 활용_최대값/키보드 버퍼 문자 읽기/사칙연산/제곱과 팩토리
    • [자바_복습] 중첩for문 활용_구구단/행렬/별찍기
    simDev1234
    simDev1234
    TIL용 블로그. * 저작권 이슈가 있는 부분이 있다면 댓글 부탁드립니다.

    티스토리툴바