一个可以查询1900年之后的所有年份当月月历。 import java.util.Scanner; public class Calendar {//输入年月输出当月日历 public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入年份"); int year = input.nextInt(); System.out.println("请输入月份:"); int month = input.nextInt(); int count=0;//这些年之间闰年的个数 for (int i =1900; i <year; i++) {//闰年个数必须用循环做,因为规则不单单4年一闰,所以不能用除法 if(((i%4==0)&&(i%100!=0)||i%400==0)){ count++; } } int days=(year-1900)*365+count; switch (month) { case 12: days+=30; case 11: days+=31; case 10: days+=30; case 9: days+=31; case 8: days+=31; case 7: days+=30; case 6: days+=31; case 5: days+=30; case 4: days+=31; case 3: days+=28; case 2: days+=31; case 1: days+=0; default: break; } if((((year%4==0)&&(year%100!=0)||year%400==0))&month>2){//如果查询的是闰年且大于2月,则要补上一天 days++; } int dayinweek=days%7;//计算每月1号是星期几 System.out.println(year+"年"+month+"月:"); System.out.println("星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期日"); int day=0; //存储要打印的天数 if(month==2){ if((year % 400 == 0)|| (year % 4 == 0 &year%100!=0)){//如果查询的是闰年的2月,则要打印29天 day=29; } else { day=28; } }else if(month==4||month==6||month==9||month==11){ day=30; }else{ day=31; } //以下是根据dayinweek(即当月1号在星期里的位置参数即月头起始空格数)和该月天数来做个打印输出 int print_count=1;//给月头的空格与当月天数的和做个计数,实现7个数据就换行输出 for(int i=1;i<=day+dayinweek;i++){ while(dayinweek>0){ System.out.print(" \t"); dayinweek--; print_count++; } System.out.print(i+"\t"); if(print_count%7==0) { System.out.println();//输出时每隔七天换行 } print_count++; } } }
简单的日历小程序
原创aronkwok731 ©著作权
©著作权归作者所有:来自51CTO博客作者aronkwok731的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:MyEclipse常用快捷键
下一篇:基于控制台的人机猜拳小游戏
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Java简单程序设计---HelloWorld
HelloWorld编程思想界的经典奇葩
java 职场 休闲 HelloWorld