* 이클립스에서
New->Project->Java Project->0420
src->package->example
example->class->MyBirthday
-------------------------------------
package example;
public class MyBirthday {
public static void main(String[] args) {
/*
* 태어난 요일 구하는 프로그램
* 2012 4 20 금요일
* (서기1년1월1일(월) ~서기2012년 4월 20일까지 총날수 ) %7
나머지 0 일요일 1월요일 6토요일
1) 1년~2011년
평년 hap+=365
윤년 hap+=366
2) 1월~3월까지 누적
4월,6월,9월,11월 : 30일
나머지 월 :31일
평년 2월 : 28일
윤년 2월 : 29일
3) hap=hap+20
4) hap%7
*/
int year=2012, month=4, day=20;
long hap=0; //총날수
int y,m,d;
for(y=1; y<year; y++)
{
if(y%4==0 && y%100!=0 || y%400==0)
hap=hap+366;
else
hap=hap+365;
}
/* for(m=1; m<month; m++)
{
if(m==4 || m==6 || m==9 || m==11)
hap=hap+30;
else if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
hap=hap+31;
else if(m==2){
if(year%4==0 && year%100!=0 || year%400==0)
hap=hap+29;
else
hap=hap+28;
}
}*/
int[] mon={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(year%4==0 && year%100!=0 || year%400==0) mon[2]=29;
for(m=1; m<month; m++)
{
hap=hap+mon[m];
}
hap=hap+day;
System.out.print("서기1년1월1일~");
System.out.print(year+"년"+month+"월"+day+"일");
System.out.println(" 총날수="+hap);
switch((int)hap%7){
case 0:System.out.println("일요일"); break;
case 1:System.out.println("월요일"); break;
case 2:System.out.println("화요일"); break;
case 3:System.out.println("수요일"); break;
case 4:System.out.println("목요일"); break;
case 5:System.out.println("금요일"); break;
case 6:System.out.println("토요일"); break;
}
}
}
'..열심히 공부하세.. > JAVA 문법' 카테고리의 다른 글
[14] 메소드(Method) 정의 (0) | 2012.04.24 |
---|---|
[13] 객체생성 (0) | 2012.04.24 |
[12] 다차원배열 (0) | 2012.04.20 |
[이클립스 설치] (0) | 2012.04.20 |
[배열 이용해서 성적표 작성하기] (0) | 2012.04.19 |