[p.383] 무슨 요일인지 출력하는 프로그램 작성
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
class Exercise2 {
public static void main(String[] args) {
String pattern = "yyyy/MM/dd";
DateFormat df = new SimpleDateFormat(pattern);
Scanner s = new Scanner(System.in);
Date indate = null;
System.out.println("날짜를 " + pattern + "의 형태로 입력해주세요 ex. 2017/05/11");
while (s.hasNextLine()) {
try {
indate = df.parse(s.nextLine());
break;
} catch (Exception e) {
System.out.println("날짜를 " + pattern + "의 형태로 입력해주세요 ex. 2017/05/11");
}
}
DateFormat df2 = new SimpleDateFormat("입력하신 날짜는 E요일입니다.");
System.out.println(df2.format(indate));
}
}
- SimpleDateFormat 예제 3번 참고
- 기존 자료에 format화
[남궁성 선생님 풀이_원본]
import java.util.*;
import java.text.*;
class Exercise10_2 {
public static void main(String[] args) {
String pattern = "yyyy/MM/dd";
String pattern2 = " E ."; // 'E' ~ . 입력하신 날짜는 요일입니다 는 일 토 중의 하나가 된다
DateFormat df = new SimpleDateFormat(pattern);
DateFormat df2 = new SimpleDateFormat(pattern2);
Scanner s = new Scanner(System.in);
Date inDate = null;
do {
System.out.println(" " + pattern 날짜를
+ " .( :2017/05/11)"); 의 형태로 입력해주세요 입력예
try {
System.out.print(">>");
inDate = df.parse(s.nextLine()); // Date . 입력받은 날짜를 로 변환한다
break; // parse() . 에서 예외가 발생하면 이 문장은 수행되지 않는다
} catch(Exception e) {}
} while(true);
System.out.println(df2.format(inDate));
} // main
}
728x90