可能是重复问题:
Java计算闰年的代码是否正确?
这是一道作业题,我已经拿到了分数,但是我没有在我的代码中实现闰年。这是一个简单的程序,根据用户输入显示一个月中的天数。唯一的问题是,我不能想出一种实现闰年的方法,使二月份有29天而不是28天,而不编写多个 if
语句。肯定有更简单的方法吧?以下是代码:
//Displays number of days in a month
package chapter_3;
import java.util.Scanner;
public class Chapter_3 {
public static void main(String[] args) {
System.out.println("This program will calculate \n"
+ "the number of days in a month based upon \n"
+ "your input, when prompted please enter \n"
+ "the numerical value of the month you would like\n"
+ "to view including the year. Example: if you would like\n"
+ "to view March enter 3 2011 and so on.");
Scanner input = new Scanner(System.in);
//Prompt user for month and year
System.out.print("Please enter the month and year: ");
int month = input.nextInt();
int year = input.nextInt();
if (month == 1) {
System.out.println("January " + year + " has 31 days");
}
else if (month == 2) {
System.out.println("February " + year + " has 28 days");
}
else if (month == 3) {
System.out.println("March " + year + " has 31 days");
}
else if (month == 4) {
System.out.println("April " + year + " has 30 days");
}
else if (month == 5) {
System.out.println("May " + year + " has 31 days");
}
else if (month == 6) {
System.out.println("June " + year + " has 30 days");
}
else if (month == 7) {
System.out.println("July " + year + " has 31 days");
}
else if (month == 8) {
System.out.println("August " + year + " has 31 days");
}
else if (month == 9) {
System.out.println("September " + year + " has 30 days");
}
else if (month == 10) {
System.out.println("October " + year + " has 30 days");
}
else if (month == 11) {
System.out.println("November " + year + " has 30 days");
}
else if (month == 12) {
System.out.println("December " + year + " has 31 days");
}
else {
System.out.println("Please enter the numerical value "
+ "of the month you would like to view");
}
}
}