글
관련 이론 및 문법
(DateFormat 클래스 참고)
http://kkikkodev.tistory.com/154
(Date 클래스 참고)
http://kkikkodev.tistory.com/390
문제 의도
35 라인과 42 라인에 들어갈, DateFormat 객체를 생성하고, Date 객체에 하루를 더하는 적절한 코드를 구하는 문제입니다.
답안
B
풀이 방법
주어진 소스코드를 살펴보면, 33 번 라인에, Date d = new Date(0); 문장을 통해서, 1970 년 1 월 1 일 자정을 뜻하는 Date 객체 (매개변수로 0 밀리초를 넘겨서) 를 하나 만들어서, d 변수로 하여금 이를 가리키게 합니다. 34 라인에서는 String 형 변수 ds 에 "December 15, 2004" 를 저장하고, 36 ~ 41 라인에서는, df 객체의 parse 메소드를 호출하면서 매개변수로 ds 객체를 넘기면서, 문자열 형태의 날짜를 실제 Date 객체로 변환하고 있습니다. 이 때 발생할 수 있는 예외 상황에 대비하여, try ~ catch 구문으로 감쌌습니다.
먼저, 35 번 라인에 들어갈 내용은, 37 번에서 사용할 df 변수를 생성하는 부분입니다. df 는 DateFormat 형 변수이므로, DateFormat df = DateFormat.getDateInstance(); 문장으로 생성합니다. DateFormat 클래스 안에는, getDateFormat() 메소드가 존재하지 않으므로, 답안 A 와 C 는 답안 후보에서 제외합니다.
42 번 라인에 들어갈 내용은, 만든 d 객체에 하루를 더하는 내용입니다. 이는, d.setTime((1000 * 60 * 60 * 24) + d.getTime()); 문장을 통해서 처리할 수 있습니다. 먼저, d.getTime() 을 통해서 현재 d 객체의 밀리초를 반환하고, 여기에 1000 (밀리초 -> 초) * 60 (초 -> 분) * 60 (분 -> 시) * 24 (시 -> 일) 을 더합니다. 그 결과를 다시, d.setTime 메소드의 매개변수로 넘기면, 결과적으로, d 객체는 하루를 더하게 되는 것입니다. (참고로, Date 객체에는 setLocalTime, getLocalTime 메소드가 존재하지 않습니다.)
따라서 답안은 B 가 됩니다.
'4.1) OCJP > 1Z0-851 / 2012-08-28' 카테고리의 다른 글
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 59 번 (0) | 2016.11.20 |
---|---|
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 58 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 57 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 56 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 55 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 53 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 52 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 51 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 50 번 (0) | 2016.11.20 |
OCJP (1Z0-851 / 2012-08-28 / Exam C) - 49 번 (0) | 2016.11.14 |
RECENT COMMENT