SimpleDateFormat 을 이용하여 주민등록번호를 입력받으면, 생일을 출력하도록 해보자. 단, parseInt 를 사용하지 않도록 하자.
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class DateTest3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("주민등록번호 : ");
String jumin = scanner.nextLine();
// substring(a, b) : 문자열의 a번째부터 b-1번째의 문자까지 가져온다.
int year = Integer.parseInt(jumin.substring(0, 2)); // 년 - 문자열
int month = Integer.parseInt(jumin.substring(2, 4)) - 1; // 월
int day = Integer.parseInt(jumin.substring(4, 6)); // 일
// 2000년대생인지 판별
if(jumin.charAt(6) > '2') { // charAt() 문자로 숫자 비교가능
year += 100;
}
Date date = new Date(year, month, day);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd(E)");
System.out.println(sdf.format(date));
}
}
- 출력
주민등록번호 :
8304221185600 (둘리 주민등록번호)
1983.04.22(금)
'Java' 카테고리의 다른 글
JAVA/자바/Frame 클래스를 이용해서 윈도우 창 띄우기 (0) | 2020.01.30 |
---|---|
자바/JAVA/Thread/스레드 (0) | 2020.01.29 |
JAVA/자바/Calendar 클래스/ (0) | 2020.01.20 |
JAVA/자바/날짜&시간 출력/SimpleDateFormat (0) | 2020.01.20 |
JAVA/자료형/자바의기본자료형과 String (0) | 2020.01.17 |