* 이클립스에서

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

+ Recent posts