文件名称:用java编写的万年历程序
文件大小:3KB
文件格式:JAVA
更新时间:2015-11-21 15:48:10
java
用java编写的万年历程序
package Day;
import java.util.Scanner;
public class Day {
static int B1=0; //判断是否为闰年,1代表闰年,0代表平年
static int B2; //判断月份的天数,0代表31天,1代表29天,2代表28天,3代表30天
static int DAY1=0; //计算从1900年到今年1月1日的天数
static int DAY2=0; //计算从今年1月1日到本月1日的天数
static int Month_Day=0; //计算本月的天数
static int Y=1900; //代表起始年,1900年
public static void main(String agrs[]){
System.out.println("请输入年份:");
Scanner sc=new Scanner(System.in);
int year = sc.nextInt();
System.out.println("请输入月份:");
int month = sc.nextInt();
//计算从1900年到本年1月1日的天数
for(int i=0;i<=year-1900;i++){
year(Y);
if(B1==1&&i!=year-1900){ //如果闰年则一年366天
DAY1=DAY1+366;
}
else if(B1==0&&i!=year-1900){ //如果是平年,则一年有365天
DAY1=DAY1+365;
}
Y++;
}
//计算从本年1月1日到本月1日的天数
for(int j=1;j<=month-1;j++){ //j表示从本年一月份一直到上月,month表示本月
month(j); //month(),表示判断月份性质的方法函数
if(B2==0){ //B2==0,表示本月为31天(1,3,5,7,8,10,12月)
DAY2=DAY2+31;
}
else if(B2==1){ //B2==1,表示本月为闰年的2月,有29天
DAY2=DAY2+29;
}
else if(B2==2){ //B2==2,表示本月为平年的2月,有28天
DAY2=DAY2+28;
}
else if(B2==3){ //B2==3,表示本月为其他月份30天(4,6,9,11月)
DAY2=DAY2+30;
}
}
month(month); //判断本月共多少天
{
if(B2==0){
Month_Day=31;
}
else if(B2==1){
Month_Day=29;
}
else if(B2==2){
Month_Day=28;
}
else if(B2==3){
Month_Day=30;
}
}
// System.out.println(DAY1);
// System.out.println("本年已过"+DAY2+"天");
int Today=(DAY1+DAY2)%7+1; //判断本月的第一天是星期几
// System.out.println(Today);
// System.out.println(Month_Day);
// System.out.println("B1="+B1+" "+"B2="+B2);
int num=1; //num表示本月的日期,如:1日,2日,3日。。。。。
System.out.print("一\t"+"二\t"+"三\t"+"四\t"+"五\t"+"六\t"+"七\n");
for(int k=1;num<=Month_Day;k++){ //k代表统计显示日历矩阵的日期的个数,当num小于本月的天数,将继续显示num
if(k