반응형
728x170
Calendar 클래스를 이용하지 않고 단순히 배열의 값에 1월부터 12월까지 날짜를 두어 D-day를 계산해보는 소스를 만들어 보자.
날짜와 관련된 게시글은
lsjsj92.tistory.com/51
에 게시했으니 참조하기 바란다.
일단 여기에서는 다른 방법으로 해본다. 먼저 배열을 생성한다.
1 | int[] days = {31,28,31,30,31,30,31,31,30,31,30,31}; |
이걸로 진행한다. 저것은 2017년 기준 1월부터 12월까지 마지막 날짜를 가리키고 있다. 그럼 D-day 소스를 만들어보자.
예를 들어 특정 날짜에서 100일 후의 날짜를 구하려면 다음과 같이 하면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | system.out.println("월"); int month = in.nextInt(); System.out.println("일"); int day = in.nextInt(); int total = 0; int nextMonth = 0; int nextDay = 0; total = total + (days[month-1] - day); int i = month; while(total < 100) { total += days[i]; i++; } nextMonth = i; nextDay = days[nextMonth] - (total -100); System.out.println("100일후는 " +nextMonth+" 월"+nextDay+"일 입니다."); ///////////////////////////방법2 System.out.println("월"); int month = in.nextInt(); System.out.println("일"); int day = in.nextInt(); int total = 100; int nextMonth = 0; int nextDay = 0; total = total - (days[month-1] - day); int i = month; while(total > days[i]) { total -= days[i]; i++; } nextMonth = i+1; nextDay = total; System.out.println("100일후는 " +nextMonth+" 월"+(nextDay-1)+"일 입니다."); |
2가지 방법이 있다.
하나는 total을 더해서 100일에 대한 계산을 하는 것이고
둘째는 100에서 해당 날짜를 빼며 진행하는 것이다.
반응형
그리드형
'java' 카테고리의 다른 글
자바 컬렉션 프레임워크(Collection Framework)Set 컬렉션(HashSet) (0) | 2017.08.18 |
---|---|
자바 컬렉션 프레임워크(Collection Framework)소개 및 List 컬렉션(Array List, Vector, LinkedList) (0) | 2017.08.18 |
자바 로또(lotto) 만들어 보기(배열, Hash) (0) | 2017.08.18 |
자바 mysql 연동(JDBC 이용), preparedstatment (0) | 2017.08.18 |
자바 mysql 접속 및 출력(연동) (0) | 2017.08.18 |