编写一个Java程序,接受用户输入的一个1~12之间的整数(如果输入的数据不满足这个条件,则要求用户重新输入),利用switch语句输出对应月份的天数。
时间: 2024-09-15 16:08:44 浏览: 46
在Java中,你可以编写如下的程序来实现这个功能:
```java
import java.util.Scanner;
public class MonthDays {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int month;
do {
System.out.println("请输入1到12之间的月份:");
while (!scanner.hasNextInt() || scanner.nextInt() < 1 || scanner.nextInt() > 12) {
System.out.println("输入错误,请重新输入一个1到12的整数:");
scanner.next(); // 清除上一次输入的非数字字符
}
month = scanner.nextInt();
} while (month < 1 || month > 12);
switch (month) {
case 1: // January
System.out.println("一月有31天");
break;
case 2: // February
if (isLeapYear()) { // 判断闰年
System.out.println("二月有29天");
} else {
System.out.println("二月有28天");
}
break;
case 3: // March
System.out.println("三月有31天");
break;
// 添加对其他月份的处理...
default:
System.out.println(month + "月的天数不是固定的,一般为30或31天");
break;
}
scanner.close();
}
// 辅助函数判断是否为闰年
private static boolean isLeapYear() {
return ((Year % 4 == 0 && Year % 100 != 0) || (Year % 400 == 0));
}
阅读全文