我试图制作一个switch语句,根据用户是输入1,2还是3来打印出不同的消息,但我一直在收到错误。只是下面的一小段代码抛出了大约十几个错误,这对我来说可能是某种记录。 :/
int menuSelection = keyboard.nextint;
switch
case 1: int menuSelection = "1";
break;
case 2: int menuSelection = "2";
break;
case 3: int menuSelection = "3";
break;
错误消息是
"案例,默认或'>'预期"
但我不知道这意味着什么或如何解决它。
答案 0 :(得分:10)
switch语句的语法不正确。您需要打开变量并添加括号以包围您的案例:
switch (menuSelection) {
case 1:
break;
case 2:
break;
case 3:
break;
}
答案 1 :(得分:0)
根据以下观察,switch语句可能如下所示:
int menuSelection = keyboard.nextint;
String menuSelectionDisplay;
switch(menuSelection)
{
case 1:
menuSelectionDisplay = "1";
break;
case 2:
menuSelectionDisplay = "2";
break;
case 3:
menuSelectionDisplay = "3";
break;
default:
menuSelectionDisplay = "?";
break;
}
Switch语句必须用大括号{}
包围有一个"默认"被认为是一个好主意。 switch语句中的子句。当所有情况都不匹配时,它可以作为一个全能的手段。在上面的示例中,如果menuSelection的值恰好为4,则将执行default子句。
switch语句接受一个参数,用于确定要运行的是哪种情况。可以把它想象成一系列if-else语句。
int value = 5;
switch(value)
{
case 5: System.out.println("Hello!"); break;
case 6: System.out.println("Bye!"); break;
default: System.out.println("Huh?"); break;
}
相当于:
if(value === 5)
{
System.out.println("Hello!");
}
else if(value === 6)
{
System.out.println("Bye!");
}
else
{
System.out.println("Huh?");
}
在您的情况下,您似乎将int的值设置为String。那是无效的;你需要
String s = "1";
)或int i = 1;
)。最后,您无法在代码中多次重新声明变量的类型(在同一范围内int menuSelection = keyboard.nextint;
和int menuSelection = 3;
答案 2 :(得分:-2)
int menuSelection = keyboard.nextint;
switch (menuSelection) {
case 1:
menuSelection = "1";
break;
case 2:
menuSelection = "2";
break;
case 3:
menuSelection = "3";
break;
default:
break;
}