Web develop/JAVA

[자바] 주민번호 입력하여 나이구하기

ForA 2019. 4. 21. 13:26
728x90
public class JuminBunhoTest {


  public static void main(String[] args) throws Exception{


      Calendar cal =Calendar.getInstance();

      int year = cal.get(Calendar.YEAR);

      System.out.print("주민번호를 입력하세요('-' 포함):");
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      String id = br.readLine();
      String birthYear = id.substring(0,2);

      char ch = id.charAt(7);

      int age;
      if(ch < '3') {
      // '3'은 문자열이지만 아스키코드 숫자로 받기에 대소비교 가능.
          age = year - (1900 + Integer.parseInt(birthYear)) + 1;
      }else {
          age = year - (2000 + Integer.parseInt(birthYear)) + 1;
      }
      System.out.println("당신의 나이는 "+age);

  }//main
}//class
  • String birthyear = id.substring(0,2);
    substring은 문자열의 지정된 곳(시작,끝)을 추출해주는 메소드다.

  • Integer.parseInt()는 문자열 String을 int로 바꿔주는 메소드이기에 만약 문자 char '3'을 int로 형변환 하고싶다면 아래와같이 해주면 된다.

char x = '3';
int y = x - '0';