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 |