java基礎(switch)
判斷某年某月的某日是星期幾。
完整代碼
/**
* Weekday
*/
import java.util.Scanner;
public class Weekday {
private static final int startYear=1980;
public static void main(String[] args) {
int year;int month;int day;
int total,week,i;
System.out.println("**********************使用萬年曆**********************");
Scanner input=new Scanner(System.in);
System.out.println("請輸入年");
year=input.nextInt();
System.out.println("請輸入月");
month=input.nextInt();
System.out.println("請輸入日");
day=input.nextInt();
boolean leap=false;
leap=(year%400==0)|(year%100!=0)&(year%4==0);
week=1;//起始日1979——12——31是星期一
total=year-startYear+(year-startYear+3)/4;
for(i=1;i<=month-1;i++)
{
switch (i) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
total=total+31;
break;
case 4:
case 6:
case 9:
case 11:
total=total+30;
break;
case 2:
if (leap)
total=total+29;
else
total=total+28;
break;
}
}
total=total+day;
week=(week+total)%7;
//System.out.println(week);
System.out.println("The date"+year+'-'+month+'-'+day+"is"+displayWeekDay(week));
}
private static String displayWeekDay(int week) {
String weekDay=null;
switch(week)
{
case 0:
weekDay="Sunday";
break;
case 1:
weekDay="Monday";
break;
case 2:
weekDay="Tuseday";
break;
case 3:
weekDay="Wednesday";
break;
case 4:
weekDay="Thursday";
break;
case 5:
weekDay="Friday";
break;
case 6:
weekDay="Saturday";
break;
}
return weekDay;
}
}