public class CheckNum { private int year, month, day, age, sex, local; private String num; Calendar date = Calendar.getInstance(); // 생성자 CheckNum(String num) { this.num = num; } /** * 910000-'1'234561 생년월일, 성별, 나이 출력하기 1 : 1900년대 내국인 남자, 2: 1900년대 내국인 여자 3 * : 2000년대 내국인 남자, 4: 2000년대 내국인 여자 5 : 1900년대 외국인 남자, 6: 1900년대 외국인 여자 7 : * 2000년대 외국인 남자, 8: 2000년대 외국인 여자 9 : 1800년대 내국인 남자, 0: 1800년대 내국인 여자 생년월일 * 값을 받고 Calendar 클래스 사용해서 현재나이 구함. */ void infoPrint() { char gender = num.charAt(7); year = Integer.parseInt(num.substring(0, 2)); month = Integer.parseInt(num.substring(2, 4)); day = Integer.parseInt(num.substring(4, 6)); // 7번째 숫자로 성별, 년도, 내/외국인 확인 switch (gender) { case '1': year += 1900; sex = 0; local = 1; break; case '2': year += 1900; sex = 1; local = 1; break; case '3': year += 2000; sex = 0; local = 1; break; case '4': year += 2000; sex = 1; local = 1; break; case '5': year += 1900; sex = 0; local = 0; break; case '6': year += 1900; sex = 1; local = 0; break; case '7': year += 2000; sex = 0; local = 0; break; case '8': year += 2000; sex = 1; local = 0; break; case '9': year += 1800; sex = 0; local = 1; break; case '0': year += 1800; sex = 1; local = 1; break; } age = (date.get(Calendar.YEAR)) - year + 1; char sexchk = sex != 1 ? '남' : '여'; System.out.println("성별 : " + sexchk); System.out.println("나이 : " + age); System.out.println("생년월일 : " + year + "/" + month + "/" + day); System.out.println("내국인 : " + (local == 1 ? "yes" : "no")); } }
위 코드가 전체 코드가 아니라 일부이여서 각자 맞게 사용해야한다.
'대학 생활 > JAVA' 카테고리의 다른 글
[JAVA] * 별 출력하기_06 나비 (0) | 2013.10.04 |
---|---|
[JAVA] 주민등록번호 분석하기 (0) | 2013.09.28 |
[JAVA] * 별 출력하기_05 삼각형 (0) | 2013.09.22 |
[JAVA] * 별 출력하기_04 삼각형 (0) | 2013.09.15 |