1. 計算某一天是星期幾
import java.util.Scanner;
public class Demo1{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("請輸入年份");
int year=sc.nextInt();
System.out.println("請輸入月份");
int month=sc.nextInt();
System.out.println("請輸入天數");
int day=sc.nextInt();
int totalDay=0;
for(int i=1900;i<year;i++){
if((i%4==0 && i%100!=0) || (i%400==0)){
totalDay+=366;
}else{
totalDay+=365;
}
}
for(int i=1;i<month;i++){
switch(i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
totalDay+=31;
break;
case 4:
case 6:
case 9:
case 11:
totalDay+=30;
break;
case 2:
if((year%4==0 && year%100!=0) || (year%400==0))
totalDay+=29;
else
totalDay+=28;
break;
}
}
totalDay+=day;
int week=totalDay%7;
if(week==0)
week=7;
System.out.println(year+"年"+month+"月"+day+"日:是星期"+week);
}
}
2. 打印月份
import java.util.Scanner;
public class Demo2{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("請輸入年份:");
int year=sc.nextInt();
System.out.println("請輸入月份:");
int month=sc.nextInt();
int totalDay=0;
for(int i=1900;i<year;i++){
if((i%4==0 && i%100!=0) || (i%400==0)){
totalDay+=366;
}else{
totalDay+=365;
}
}
for(int i=1;i<month;i++){
switch(i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
totalDay+=31;
break;
case 4:
case 6:
case 9:
case 11:
totalDay+=30;
break;
case 2:
if((year%4==0 && year%100!=0) || (year%400==0))
totalDay+=29;
else
totalDay+=28;
break;
}
}
int week=(totalDay+1)%7;
System.out.println(week);
System.out.println("星期天\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
for(int i=0;i<week;i++){
System.out.print("\t");
}
int monthDay=31;
switch(month){
case 4:
case 6:
case 9:
case 11:
monthDay=30;
break;
case 2:
monthDay=((year%4==0 && year%100!=0) || (year%400==0))?29:28;
break;
}
for(int i=1;i<=monthDay;i++){
System.out.print(" "+i+"\t");
if((week+i)%7==0)
System.out.println();
}
System.out.println();
}
}