代码功能:输入年份和月份,可得到对应日历表,如上图。
代码如下:
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("日 一 二 三 四 五 六"); int wekday=sum%7; for(int i=1;i<=wekday;i++){ System.out.print(" "); } 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+" "); date++; } System.out.println(); int ans=0; for(;date<=number;date++){ System.out.print(date+" "); ans++; if(ans%7==0) System.out.println(); } System.out.println(); } }