代码功能:输入年份和月份,可得到对应日历表,如上图。
代码如下:
import java.util.*;
public class date {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
//System.out.println("")
System.out.println("请输入年份:");
int year=in.nextInt();
System.out.println("请输入月份:");
int month=in.nextInt();
int flag=0,sum=1;
for(int i=1900;i<year;i++){
flag=0;
if((i%4==0&&i%100!=0)||(i%400==0))
flag=1;
sum+=flag+365;
}
for(int i=1;i<month;i++){
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
sum+=31;
else if(i==2)
sum+=28;
else
sum+=30;
}
if((year%4==0&&year%100!=0)||(year%400==0)){
sum+=1;
}
System.out.println("您查找的日历表如下:");
System.out.println("日\t一\t二\t三\t四\t五\t六");
int wekday=sum%7;
for(int i=1;i<=wekday;i++){
System.out.print("\t");
}
int number;
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
number=31;
else if(month==2)
number=28;
else
number=30;
if(((year%4==0&&year%100!=0)||(year%400==0))&&(month==2))
number+=1;
int date=1;
for(int i=wekday+1;i<=7;i++){
System.out.print(date+"\t");
date++;
}
System.out.println();
int ans=0;
for(;date<=number;date++){
System.out.print(date+"\t");
ans++;
if(ans%7==0)
System.out.println();
}
System.out.println();
}
}