public class Calendar { public static void main(String[] args) { Scanner in=new Scanner(System.in); System.out.print("请输入要查询的年份"); int year=in.nextInt(); //接收年份保存在year中 System.out.print("请输入要查询的月份"); int month=in.nextInt(); //接收月份保存在month中 int sum=0,day=0; //计算到1900年的总天数 ---总天数等于从1900年起到year年的所有天数加上到month的天数 for(int i=1900;i<year;i++){ //for循环实现天数的累加 if(i%4==0&&i%100!=0||i%400==0){ sum+=366; }else{ sum+=365; } } //计算到当前月的总天数并计算每个月的天数 for(int j=1;j<month;j++){ //switch语句控制天数,for循环实现天数的累加 switch(j){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: sum+=31;day=31; break; case 4: case 6: case 9: case 11: sum+=30;day=30; break; case 2: if(year%4==0&&year%100!=0||year%400==0) { sum+=29;day=29; }else { sum+=28;day=28; }break; } } //填充日期 int weekday=sum%7+1; //总天数取余数,日历从星期日开始打印,再+1 代表上个月的最后一周占这个月的几天 System.out.println("日\t一\t二\t三\t四\t五\t六"); for(int i=1;i<=weekday;i++){ System.out.print("\t"); //跳过上个月多出的日期 } //输出日历 for(int i=1;i<=day;i++){ if(sum%7+1==6){ //控制换行 System.out.print(i+"\n"); }else{ System.out.print(i+"\t"); //for循环打印每天对应的日历 } sum++;//控制每次换行 } } }
JAVA实现打印日历
猜你喜欢
转载自blog.csdn.net/madridcrls7/article/details/80270764
今日推荐
周排行