为什么定义While(true)
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
// TODO 自动生成的方法存根
while(true){
boolean b=false;
int sum1=0,days=0;
Scanner scanner=new Scanner(System.in);
System.out.println("请输入年份:");//提示信息
int year=scanner.nextInt();//输入年份
//判断年份
if(year==-1){
System.out.println("退出程序");
break;
}else if(year<=0){
System.out.println("输入错误");
break;
}
System.out.println("请输入月份:");//提示信息
int mouth=scanner.nextInt();//输入月份
//判断月份
if(mouth==-1){
System.out.println("退出程序");
break;
}else if(mouth<=0||mouth>12){
System.out.println("输入错误");
break;
}
System.out.println("请输入正确的日期:");//提示信息
int day=scanner.nextInt();//输入日期
//判断日期
if(day==-1){
System.out.println("退出程序");
break;
}else if(day<0||day>31){
System.out.println("输入错误");
break;
}
//判断是否为闰年
if((year%4==0&&year%100!=0)||(year%400==0)){//判断是否为闰年
b=true;
}
//判断闰年的时候月份和小月
if((b&&mouth==2&&day>29)||((mouth==4||mouth==6||mouth==8||mouth==10)&&day>31)){
System.out.println("输入错误");
break;
}else if(mouth==2&&mouth>28){
System.out.println("输入错误");
break;
}
for(int i=1;i<mouth;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(b){
days=29;
}else{
days=28;
}
}
sum1+=days;
}
if(b){
System.out.println(year+"年"+mouth+"月"+day+"日"+"是闰年,这天是"+year+"年的第"+(sum1+day)+"天");
}else{
System.out.println(year+"年"+mouth+"月"+day+"日是"+year+"年的第"+(sum1+day)+"天");
}
}
}
}