在这里我试图通过输入月份号来获取输出月份,但是为什么我有错误
-可能尚未初始化“monthString”?
-为什么我没有从“monthString”得到输出字符串?
为什么monthString必须初始化?
import java.util.Scanner;
public class SwitchClass {
public static void main(String[]args)
{
Scanner input = new Scanner(System.in);
System.out.printf(" when did u born ? ");
int monthNumber = input.nextInt();
String monthString ;
switch (monthNumber)
{
case 1:
monthString = "January ";
break;
case 2:
monthString = "February ";
break;
case 3:
monthString = "March ";
break;
case 4:
monthString = "April ";
break;
case 5:
monthString = "May";
break;
case 6:
monthString = "June";
break;
case 7:
monthString = "July";
break;
case 8:
monthString = "August";
break;
case 9:
monthString = "September";
break;
case 10:
monthString = "October";
break;
case 11:
monthString = "November";
break;
case 12:
monthString = "December";
break;
}
System.out.println(monthString); }
}
最佳答案
如果monthNumber
不在1到12之间怎么办?在这种情况下,monthString
将不会初始化。声明它时,应该给它一些默认值:
String monthString = null; // or ""