输入年,月,日 输出该天为该年的第几天
System.out.println("请输入年份:");
int year = scan.nextInt();
int month;
while(true){
System.out.println("请输入月份:");
month = scan.nextInt();
if(month > 12|| month < 1){
System.out.println("月份错误,请重试!");
}else break;
}
System.out.println("请输入几号:");
int day = scan.nextInt();
boolean leap_year = false;
//判断闰年
if((year % 4) == 0){
leap_year = true;
if((year % 100) == 0){
if((year % 400) != 0){
leap_year = false;
}}}
//判断日期是否正确
boolean bool = false;
while(!bool){
switch(month){
case 1,3,5,7,8,10,12:
if(day > 31){
System.out.println("日期不对,请重新输入:");
day = scan.nextInt();
}else {
System.out.print("这一天为" + year +"年的第");
bool = true;
}break;
case 4,6,9,11:
if(day > 30){
System.out.println("日期不对,请重新输入:");
day = scan.nextInt();
}else {
System.out.print("这一天为" + year +"年的第");
bool = true;
}break;
case 2:
if(day > 29 || !leap_year && day > 28){
System.out.println("日期不对,请重新输入:");
day = scan.nextInt();
}else {
System.out.print("这一天为" + year +"年的第");
bool = true;
}break;
}
}
int amount=0;
int num=0;
//num加上这个月之前的日数
switch(month){
case 11:
num += 31;
case 10:
num += 30;
case 9:
num += 31;
case 8:
num += 31;
case 7:
num += 30;
case 6:
num += 31;
case 5:
num += 30;
case 4:
num += 31;
case 3:
if(leap_year){
num += 29;
}else {
num += 28;
}
case 2:
num += 31;
}
amount += num;//加上之前月份的日数
amount += day;//加上本月日数
System.out.println(amount + "天");
}
}