用java进行简单的万年历编写
import java.util.Scanner; public class PrintCalendarDemo1 { public static void main(String[] args) { int year;//保存输入的年 int month;//保存输入的月 boolean isRn;//闰年保存true,否则为false int days=0;//保存月份的天数 int totalDays=0;//保存总的天数差 System.out.println("***************使用万年历***************"); Scanner input= new Scanner(System.in); System.out.println("请输入年"); year = input.nextInt(); System.out.println("请输入月"); month = input.nextInt(); if((year%400==0) || (year%4==0&& year%100!=0)){ isRn = true; }else{ isRn= false; } if(isRn){ System.out.println(year+"年" + "是闰年"); }else { System.out.println(year+"年" + "不是闰年"); } //计算年的总天数 for(int i=1900;i<year;i++){ if(i%400==0||(i%4==0&&i%100!=0)){ totalDays+=366; }else{ totalDays+=365; } } //计算输入月份之前的总天数 for(int i=1;i<=month;i++){ switch(i){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: days=31; break; case 2: if(isRn){ days=29; }else{ days=28; } break; case 4: case 6: case 9: case 11: days=30; break; default: System.out.println("输入的月份有误!"); } //输入月的天数保存到days变量,但不累加 if(i!=month){ totalDays+=days; } } //求出星期几,其实就是前面\t的个数 int beforDays; beforDays=1+totalDays%7; if(beforDays==7){ beforDays=0; } System.out.println("星期天\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t"); for(int i=0;i<beforDays;i++){ System.out.print("\t"); } for(int i=1;i<=days;i++){ System.out.print(i+"\t"); if((i+beforDays)%7==0){ System.out.println(); } } System.out.println(); System.out.println(year+"年"+month+"月"+"有"+days+"天"); } }