세로형
Recent Posts
Recent Comments
Link
12-22 05:07
«   2024/12   »
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
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

자바 배열로 날짜(D-day) 계산해보기(2017년 기준) 본문

java

자바 배열로 날짜(D-day) 계산해보기(2017년 기준)

이수진의 블로그 2017. 8. 18. 08:48
반응형
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에서 해당 날짜를 빼며 진행하는 것이다.



반응형
그리드형
Comments