주민번호
package myutil;
import java.util.Calendar;
public class Jumin {
String jumin_no;
public String getJumin_no() {
return jumin_no;
}
//멤버변수 초기화(String jumin_no)
//setter method
//명명법 : set필드명()
public void setJumin_no(String jumin_no) {
this.jumin_no = jumin_no;
}
//jumin_no값을 얻어오는 메소드(main으로 보냄)
//getter method
//명명법 : get필드명()
// 출생년도
public int getYear() {
char gender = jumin_no.charAt(7);
String str_year = jumin_no.substring(0, 0+2); //"90"
int year = Integer.parseInt(str_year); // 90
if(gender=='1' || gender=='2' || gender=='5' || gender=='6')
year = year + 1900;
else
year = year + 2000;
return year;
}
// 나이
public int getAge() {
//현재 시스템 날짜
Calendar c = Calendar.getInstance();
//c 객체내에 저장된 값 중에서 년도 구함
int currnt_year = c.get(Calendar.YEAR);
int age = currnt_year - this.getYear() + 1;//getYear()호출
return age;
}
// 띠
public String getTti() {
int tti_index = this.getYear()%12;
switch(tti_index)
{
case 0 : return "원숭이";
case 1 : return "닭";
case 2 : return "개";
case 3 : return "돼지";
case 4 : return "쥐";
case 5 : return "소";
case 6 : return "범";
case 7 : return "토끼";
case 8 : return "용";
case 9 : return "뱀";
case 10 : return "말";
case 11 : return "양";
}
return "tti_index";
}
//성별
public String getSex() {
char gender = jumin_no.charAt(7);
if(gender=='1') {
return "남자";
// System.out.printf("남");
} else {
return "여자";
// System.out.printf("여");
}
}
//출생지역
public String getLocal() {
String str_local = jumin_no.substring(8, 8+2);
int local = Integer.parseInt(str_local);
if(local >=0 && local<=8) return "서울특별시";
else if(local >=9 && local<=12) return "부산광역시";
else if(local >=13 && local<=15) return "인천광역시";
else if(local >=16 && local<=25) return "경기도";
else if(local >=26 && local<=34) return "강원도";
else if(local >=35 && local<=39) return "충청북도";
else if(local==40) return "대전광역시";
else if((local >=41 && local<=43) ||(local >=45 && local<=47)) return "충청남도";
else if(local >=44 || local<=96) return "세종특별자치시";
else if(local >=48 && local<=54) return "전라북도";
else if(local >=55 && local<=66) return "전라남도";
else if(local==55 || local==56) return "광주광역시";
else if(local >=67 && local<=70) return "대구광역시";
else if(local >=71 && local<=81) return "경상북도";
else if((local >=82 && local<=84) ||(local >=86 && local<=90)) return "경상남도";
else if(local ==85) return "울산광역시";
else return "전라남도";
/*
*
서울특별시 : 00~08
부산광역시 : 09~12
인천광역시 : 13~15
경기도 : 16~25
강원도 : 26~34
충청북도 : 35~39
대전광역시 : 40
충청남도 : 41~43, 45~47
세종특별자치시 : 44, 96
전라북도 : 48~54
전라남도 : 55~66
광주광역시 : 55, 56
대구광역시 : 67~70
경상북도 : 71~81
경상남도 : 82~84, 86~90
울산광역시 : 85
제주특별자치도 : 91~95
*/
}
//출생계절
public String getSeason() {
String str_month = jumin_no.substring(2, 4);
String season = str_month;
int month = Integer.parseInt(str_month);
switch(month/3)
{
case 1: season="봄";break;
case 2: season="여름";break;
case 3: season="가을";break;
default: season="겨울";
}
return season;
}
//10간12지
public String getGanji() {
int gan_index = this.getYear()%10;
int ji_index = this.getYear()%12;
String gan="";
String ji="";
switch (gan_index) {
case 0: gan="경"; break;
case 1: gan="신"; break;
case 2: gan="임"; break;
case 3: gan="계"; break;
case 4: gan="갑"; break;
case 5: gan="을"; break;
case 6: gan="병"; break;
case 7: gan="정"; break;
case 8: gan="무"; break;
case 9: gan="기"; break;
}
switch(ji_index%12)
{
case 0 : ji="자"; break;
case 1 : ji="축"; break;
case 2 : ji="인"; break;
case 3 : ji="묘"; break;
case 4 : ji="신"; break;
case 5 : ji="사"; break;
case 6 : ji="오"; break;
case 7 : ji="미"; break;
case 8 : ji="진"; break;
case 9 : ji="유"; break;
case 10 : ji="술"; break;
case 11 : ji="해"; break;
}
return gan+ji;
}
}