import java.util.Scanner;
public class WanNianLi {
public static void main(String[] aegs) {
int sum=0;
int days = 0;
int month ;//月份
int a;
Scanner input=new Scanner(System.in);
do {
System.out.println("请选择是否继续输入(1.继续输入:2.退出输入:)");
a=input.nextInt();//接收键盘输入的数字
if(a==2) {//判断是否结束循环
System.out.println("程序输入结束");
break;
}
System.out.print("请输入年份:");
int year=input.nextInt();//接受键盘输入的年份
System.out.print("请输入月份:");
month=input.nextInt();//接受键盘输入的月份
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 4:
case 6:
case 9:
case 11:
days=30;
break;
case 2:
if(((year%4==0) && (year%100!=0)) || (year%400==0)) {
days=29;
}else{
days=28;
}
break;
}
}
for(int i=1900;i<year;i++) {//判断年份是否是闰年,并进行年份的累加计算
if(((i%4==0) && (i%100!=0)) || (i%400==0)){
sum+=366;
}else{
sum+=365;
}
}
for(int i=1;i<month;i++){//判断输入的月份并进行累加计算
switch(i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
sum+=31;
break;
case 4:
case 6:
case 9:
case 11:
sum+=30;
break;
case 2:
if(((year%4==0) && (year%100!=0)) || (year%400==0)){
sum+=29;
}else{
sum+=28;
}
}
}
sum+=1;//总天数加1,判断输入月份的第一天
int week=sum%7;//判断输入月份的第一天为星期几
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");//打印日期表
int count=0;//周天数累计
for(int i=0;i<week;i++){
System.out.print("\t");//每月第一天不是周日则用空格代替
count++;//空格累计
}
for( int i=1;i<=days;i++){
System.out.print(i+"\t");//输出天数和空格
count++;//周天数累计
if(count%7==0){
System.out.println();//遇到周日进行换行
}
}
}while(true);//如果选择1进行循环,继续输入
}
}
热门评论
输入之后打印的是一个数在一行啊