I'm encountering "a variable might not have been initialized" error when using switch block.
Here is my code:
public static void foo(int month)
{
String monthString;
switch (month)
{
case 1: monthString = "January";
break;
case 2: monthString = "February";
break;
}
System.out.println(monthString);
}
The error:
Switch.java:17: error: variable monthString might not have been initialized
System.out.println (monthString);
To my knowledge this error occurs when you try access a variable you have not initialized, but am I not initializing it when I assign it the value in the switch block?
Similarly, even if the month is a compile-time constant, I still receive the same error:
public static void foo()
{
int month = 2;
String monthString;
switch (month)
{
case 1: monthString = "January";
break;
case 2: monthString = "February";
break;
}
System.out.println(monthString);
}
month
variable is 4 or -1? You should adddefault:
section to your switch to handle all other cases (whenmonth < 1
ormonth >3
). – Toyatoyama