예제)
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
public class Test4 {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(
new InputStreamReader(System.in));
int []month={31,28,31,30,31,30,31,31,30,31,30,31};
int y,m,d,w,total;
do{
System.out.print("년도 ? ");
y=Integer.parseInt(br.readLine());
}while(y<1000);
do{
System.out.print("월 ? ");
m=Integer.parseInt(br.readLine());
}while(m<1 || m>12);
if (y%4==0 && y%100!=0 || y%400==0)
month[1]=29;
else
month[1]=28;
do{
System.out.print("일 ? ");
d=Integer.parseInt(br.readLine());
}while(d<1 || d>month[m-1]);
total=(y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400;
for(int i=0; i<m-1; i++)
total+=month[i];
total+=d;
w=total%7;
String []a={"일요일","월요일","화요일","수요일","목요일","금요일","토요일"}; // char을 이용할 경우 홑따옴표에 한글자를 써서 만든다.
System.out.printf("%d년 %d월 %d일은 %s입니다\n", y,m,d,a[w]);
/*
String str="";
switch(w) {
case 0:str="일";break;
case 1:str="월";break;
case 2:str="화";break;
case 3:str="수";break;
case 4:str="목";break;
case 5:str="금";break;
case 6:str="토";break;
}
System.out.printf("%d년 %d월 %d일은 %s요일 입니다\n"
,y, m, d, str);
*/
/*
char []week ={'일','월','화', '수', '목', '금', '토'};
System.out.printf("%d년 %d월 %d일은 %c 요일입니다\n"
,y, m, d, week[w]);
*/
}
}
// 빨간색 부분을 주황색 혹은 초록색으로 바꾸어도 동일한 결과 출력.
결과) 년도와 월,일을 입력하면 해당 요일 출력
년도 ? 2013
월 ? 5
일 ? 1
2013년 5월 1일은 수요일입니다
'자바 > 문법' 카테고리의 다른 글
성적표 출력하는 프로그램 (0) | 2013.05.11 |
---|---|
입력된 여러 숫자를 작은 순서대로 정리하는 프로그램 (0) | 2013.05.11 |
배열을 사용한 달력만들기 (0) | 2013.05.11 |
배열 사용방법과 향상된 for문 (0) | 2013.05.11 |
return문 (0) | 2013.05.09 |