Java 分别用if、switch两种方法编写根据0~11的整数转换为十二月份的程序片断,假定数字0对应一月份。
时间: 2024-10-21 22:03:07 浏览: 27
使用`if`条件判断:
```java
int monthIndex = 0; // 假设0对应一月份
String[] months = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
if (monthIndex >= 0 && monthIndex <= 11) {
String monthName = months[monthIndex];
System.out.println(monthName);
} else {
System.out.println("Invalid month index");
}
```
这里我们通过`if`检查给定的数值是否在0到11之间,然后直接访问数组获取对应的月份名称。
使用`switch`语句:
```java
int monthIndex = 0; // 仍假设0对应一月份
String[] months = {null, "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
switch (monthIndex) {
case 0:
System.out.println(months[1]);
break;
case 1:
System.out.println(months[2]);
break;
case 2:
System.out.println(months[3]);
break;
// ... 其他月份数字对应的case...
default:
if (months[monthIndex] != null) {
System.out.println(months[monthIndex]);
} else {
System.out.println("Invalid month index");
}
}
```
这里我们先设置了一个空的元素作为0的映射,然后用`switch`逐个匹配`monthIndex`的值,并输出对应的月份名称。`default`分支用于处理超出范围的情况。
请注意,在`switch`语句中,如果不需要处理所有情况,可以省略最后一个`break`,因为它们都是独立的代码块。但如果存在`default`分支,通常建议每个`case`后面都加上`break`,以防意外进入其他case的代码块。
阅读全文