Java/[책] JAVA의 정석 기초편

[Java의 정석_기초편] 날짜와 시간 & 형식화_연습문제 10-2 (p.383)

줌인. 2024. 3. 26. 23:32

[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