대학 생활/JAVA
[JAVA] 주민등록번호 나이, 성별 구하기
opid
2013. 9. 26. 22:00
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")); } }
위 코드가 전체 코드가 아니라 일부이여서 각자 맞게 사용해야한다.