编写一个Java程序,接受用户输入的一个1-12之间的整数(如果输入的数据不满足这个条件,则要求用户重新输入),利用switch语句输出对应月份的天数。
时间: 2024-10-17 13:08:18 浏览: 32
Java实现OJ多组测试数据的输入方法
5星 · 资源好评率100%
你可以使用以下Java程序实现这一需求。此程序会提示用户输入一个1到12之间的整数,然后通过`switch`语句检查并输出该月份的天数:
```java
import java.util.Scanner;
public class MonthDaysCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个1到12之间的月份:");
int month;
while (!scanner.hasNextInt() || scanner.nextInt() < 1 || scanner.nextInt() > 12) {
System.out.println("输入错误,月份应为1到12之间的整数,请重新输入:");
}
month = scanner.nextInt();
scanner.close();
switch (month) {
case 1: // January
case 3: // March
case 5: // May
case 7: // July
case 8: // August
case 10: // October
case 12: // December
System.out.println(month + "月有31天");
break;
case 4: // April
case 6: // June
case 9: // September
case 11: // November
System.out.println(month + "月有30天");
break;
default: // February (leap year)
System.out.println(month + "月有28天(闰年)或29天(普通年)");
break;
}
}
}
```
在这个程序中,首先创建一个`Scanner`对象获取用户输入。当用户输入不符合要求时(即不是1到12之间的整数),程序会提示用户重新输入。一旦得到正确的月份,`switch`语句会根据月份输出对应的天数。对于二月,因为要考虑闰年的情况,所以额外提到了闰年的天数。
阅读全文