Java经典编程题50道之十四
输入某年某月某日,判断这一天是这一年的第几天?
public class Example14 {
public static void main(String[] args) {
year(2017, 1, 1);
}
public static void year(int year, int month, int day) {
int d = 0;
int days = 0;
if (year < 0 || month < 0 || month > 12 || day < 0 || day > 31) {
System.out.println("输入错误,请重新输入!");
}
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 % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {
days = 29;
} else {
days = 28;
}
break;
}
d += days;
}
System.out.println(year + "年" + month + "月" + day + "日是" + year + "的第"
+ (d + day) + "天。");
}
}