万年历
程序代码:
import java.util.Scanner; public class Panduan1{ public static void main(String[] args){ Scanner input=new Scanner(System.in); String shifou; int nian,yue,yuann,xinq; int zong=0,nianz=0,count=0,tian=0,yuez=0; do{ zong=0,nianz=0,count=0,tian=0; yuez=0; //进行下一次循环时注意给变量清零! System.out.println("************************欢迎使用万年历************************\n\n\n"); System.out.println("请选择年份:\n\n"); nian=input.nextInt(); System.out.println("请选择月份:\n\n"); yue=input.nextInt(); if(nian%4==0&&nian%100!=0||nian%400==0){ System.out.println(nian+"\t\t闰年"); }else{ System.out.println(nian+"\t\t平年"); } switch(yue){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: tian=31; System.out.println(yue+"\t\t共"+tian+"天"); break; case 2: if(nian%4==0&&nian%100!=0||nian%400==0){ tian=29; System.out.println(yue+"\t\t闰年"+tian+"天"); }else{ tian=28; System.out.println(yue+"\t\t平年"+tian+"天"); } break; case 4: case 6: case 9: case 11: tian=30; System.out.println(yue+"\t\t共"+tian+"天"); break; default: System.out.println("您的月份输入有错!请重新输入。"); yue=input.nextInt(); break; } //计算年天 for(yuann=1900;yuann<nian;yuann++){ if(yuann%4==0&&yuann%100!=0||yuann%400==0){ nianz=nianz+366; }else{ nianz=nianz+365; } } //计算月天 for(int yu=1;yu<yue;yu++){ if(yu==1||yu==3||yu==5||yu==7||yu==8||yu==10||yu==12){ yuez=yuez+31; }else if(yu==2){ if(nian%4==0&&nian%100!=0||nian%400==0){ yuez=yuez+29; }else{ yuez=yuez+28; } }else if(yu==4||yu==6||yu==9||yu==11){ yuez=yuez+30; }else{ break; } } //总差天 zong=yuez+nianz; System.out.println("距离1900年的总天数是:\t"+zong); //月份第一天星期: xinq=1+zong%7; System.out.println("星期日\t"+"星期一\t"+"星期二\t"+"星期三\t"+"星期四\t"+"星期五\t"+"星期六\t"); //显示月份表 switch(xinq){ case 0: while(count<tian){ count++; System.out.print(count+"\t"); if(count%7==0){ System.out.println(); } } break; case 1: case 2: case 3: case 4: case 5: case 6: for(int f=1;f<=xinq;f++){ System.out.print("\t"); } while(count<tian){ count++; System.out.print(count+"\t"); if(count+xinq==7){ System.out.println(); }else if((count%7==7-xinq)){ System.out.println(); } } break; default: System.out.println("您的算法有错!"); break; } System.out.println("是否继续查询y/n:"); shifou=input.next(); if(shifou.equals("y")){ continue; }if(shifou.equals("n")){ break; }else{ System.out.println("您的月份输入有错!请重新输入。"); shifou=input.next(); } }while(shifou.equals("y")); System.out.println("程序结束!"); } }
[free] 这是我自己的作品,可以查看1900以后的年月或星期。并判断是闰年与平年,还可以计算至1900的天数。
希望各位朋友发表一些宝贵的意见?
共同来学习与提升我的作品的功能。
最后感谢各位好友能抽出宝贵的时间来赐教。
[/free]