day08 예문1 주민번호

JTH·2023년 2월 1일
0

gb_jth

목록 보기
26/56
package string;

public class Main05 {

	public static void main(String[] args) {
		/*
		 * 주민번호에서 생년월일 추출하기
		 * ex) 800501 - 1234567 -> 1980년 05월 01일 남자
		 * - 1번이 성별코드
		 * 	-> 성별코드 1 or 2 : 19~
		 * 	-> 성별코드 3 or 4 : 20~
		 * ------------------------------------------------
		 * 	-> 성별코드 1 or 3 : 남자
		 * 	-> 성별코드 2 or 4 : 여자
		 */
		
		String num = "800501-1234567";
		String sub_num = num.substring(0, 6);
		String sub_num2 = num.substring(7);
		int pos_num = num.indexOf("-");
		
		
		
		int yy = 1980;
		int mm = 5;
		int dd = 1;
		String gender = "남성";
		
		String result
		= String.format("%d년 %02d월 %02d일 %s"
				, yy, mm, dd, gender);
		
		System.out.println("생년월일 = " + sub_num);
		System.out.println("뒷자리 번호 = " + sub_num2);
		System.out.println("생년월일, 성별 = " + result);
		
		//주민등록상 7번째 자리 숫자에 따라 성별나누기
		
		//7번째 자리 찾기.. 시도는 성공 했지만..
		String sub_num3 = num.substring(pos_num+1,pos_num+2);
		System.out.println(sub_num3 instanceof String);
		
		//Wrapper 중에 문자열 데이터의 형변환을 사용하여 7번째 자리를 String 으로 찾았고 int로 형변환해냈다
		int m1 = Integer.parseInt(sub_num3);
		if (m1==1 || m1==3) {
			System.out.println("남자 입니다.");
		} else if (m1 ==2 || m1==4) {
			System.out.println("여자 입니다.");
		} else {
			System.out.println("외국인 입니다.");
		}
	
		
	}

}

출력값 :

true
생년월일 = 800501
뒷자리 번호 = 1234567
생년월일, 성별 = 1980년 05월 01일 남성
남자 입니다.

profile
//

0개의 댓글