/* * 日历的制作 */import java.util.Scanner; public class RiLi{ public static void main(String[] args){ while(true){//若为真值就循环 Scanner in=new Scanner(System.in); /* * 年份的输入以及判断 */ System.out.println("请输入年份:"); int year=in.nextInt(); //判断年份 if(year==-1){ System.out.println("退出程序!"); }else if(year<=0){ System.out.println("输入错误!"); } /* * 月份的输入以及判断 */ System.out.println("请输入月份:"); int month=in.nextInt(); //判断月份 if(month==0){ System.out.println("退出程序!"); }else if(month<=0||month>12){ System.out.println("输入错误!"); } int sum=0;//代表什么意思? //判断闰年 for(int i=1;i<year;i++){ if(i%4==0&&i%100!=0||i%400==0){ sum+=366;//闰年的天数366 }else{ sum+=365;//不是闰年的天数是365天 } } int a=0;//代表什么意思?为什么定义a? for(int i=1;i<month;i++){ if(i==2){ if(year%4==0&&year%100!=0||year%400!=0){ sum+=29; a=29; }else{ sum+=28; a=28; } }else{ if(i==4||i==6||i==9||i==11){ sum+=30; a=30; }else{ sum+=31; a=31; } } } int wekday=sum%7; System.out.println("日\t一\t二\t三\t四\t五\t六"); for(int i=1;i<=wekday;i++){ System.out.print("\t"); } for(int i=1;i<=a;i++){ if(sum%7==6){ System.out.print(i+"\n"); }else{ System.out.print(i+"\t"); } sum++; } } }}
添加回答
举报
0/150
提交
取消