【发布时间】:2021-09-13 20:47:08
【问题描述】:
考虑到闰年比其他年份多一天,我需要修改以下代码,以便我可以输入给定年份并计算其天数。我认为 Scanner 函数和 if 语句在这里很有用,但我对如何修改代码感到困惑。
公开课作业{
public static void main(final String[] args)
{
final String[] months =
{
"January", "February", "March", "April", "May", "June", "July", "August", "September",
"October", "November", "December"
};
final int[] days = {31, 28 , 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
//Print out days for each month and add them
int total = 0;
for (int m = 0; m < months.length; m++) {
System.out.println(months[m] + " has " + days[m] + " days.");
total += days[m];
}
System.out.println("===================\nTotal" + total + " days");
}
}
另外,我需要计算从 1900 年到 1999 年(含)所有年份的总天数。如果我编写一个以一年为参数并返回该年总天数的方法,程序会更简洁,但我再次对它的细节感到困惑。
谢谢!
【问题讨论】:
-
唯一受影响的月份是二月...所以,检查
m == 1 && isLeapYear(year),然后打印29而不是28
标签: java arrays java.util.scanner leap-year