Java I';我的switch语句有点问题

Java I';我的switch语句有点问题,java,Java,好的,我已经做了很短时间的编程,我已经开始制作非常好的程序了。但说到开关,当它们真正工作时,总是运气好。我写了一个switch语句: String answer1 = in.nextLine(); switch (answer1) { case 1: System.out.println("..."); break; case 2: System.out.println("..."); break; case 3:

好的,我已经做了很短时间的编程,我已经开始制作非常好的程序了。但说到开关,当它们真正工作时,总是运气好。我写了一个switch语句:

String answer1 = in.nextLine();

switch (answer1)
{
case 1:
        System.out.println("...");
        break;
case 2:
        System.out.println("...");
        break;
case 3:
        System.out.println("...");
        break;
}
箱子旁边的开关标签上都写着“error cannot convert from int to string”,请有人帮忙。谢谢
Noob程序员~Chase

您可能需要验证您使用的Java版本。这在旧版本的Java上是不可能的

见:


也就是说,如果您打算打开字符串。如果您确实需要一个整数(您需要解析它),请参阅下面的答案(@dasblinkenlight)

您可能需要验证正在使用的Java版本。这在旧版本的Java上是不可能的

见:


也就是说,如果您打算打开字符串。如果您确实需要一个整数(您需要解析它),请参阅下面的答案(@dasblinkenlight)

您正在尝试打开
字符串
,而案例是
int
s。在将字符串传递到
开关之前,需要对其进行分析:

String answer1 = in.nextLine();
switch (Integer.parseInt(answer1)) {
    ...
}

您正在尝试打开
字符串
,而大小写为
int
s。在将字符串传递到
开关之前,需要对其进行分析:

String answer1 = in.nextLine();
switch (Integer.parseInt(answer1)) {
    ...
}

只有Java 7才支持交换机中的字符串

如果您使用的是Java7及以上版本,那么

switch (answer1)
{
case "1":
        System.out.println("...");
        break;
case "2":
        System.out.println("...");
        break;
case "3":
        System.out.println("...");
        break;

否则,您必须将其转换为int,如@dasblinkenlight的答案所示。只有Java 7才支持switch中的字符串

如果您使用的是Java7及以上版本,那么

switch (answer1)
{
case "1":
        System.out.println("...");
        break;
case "2":
        System.out.println("...");
        break;
case "3":
        System.out.println("...");
        break;

否则,您必须将其转换为int,如@dasblinkenlight的答案所示。代码实际上看起来并不是那么夹在一起。这只是我的iphone在做的事情。如果代码看起来不正确,您可以单击并更改它。代码实际上看起来并不是那么夹在一起,这只是我的iphone在做的事情。如果代码看起来不正确,您可以单击并更改它。