如果 Java 中的语句不起作用,则用户输入

-4 java if-statement

我正在使用扫描仪来获取用户输入。

Scanner scanner = new Scanner(System.in);

Int choice = scanner.nextInt();

if(choice==1) {
    System.out.println(" you chosed number 1!")
}

if(choice==2) {
    System.out.println(" you chosed number 2!")
}

if(choice==3) {
    System.out.println(" you chosed number 3!")
}

if(choice==q) {
    System.out.println("the game will end now!");
}
Run Code Online (Sandbox Code Playgroud)

所以当你进入游戏时,你会弹出一个菜单。您可以选择 1、2、3 或 q。如果您按任何数字,游戏将带您进入这些部分。但是如果你按 q 游戏就会结束。

我不知道如何修复以便我可以输入 q 并结束游戏。

Li3*_*357 5

你有一些错别字,你的逻辑是不正确的。你错过了很多分号,它们结束了一个语句。int 什么时候会变成字符?字符没有用引号括起来。使用next得到一个字符串的版本。使用.equals()查询字符串。

Scanner scanner = new Scanner(System.in);

String choice = scanner.next();

if(choice.equals("1")) {
    System.out.println(" you chose number 1!");
} else if(choice.equals("2")) {
    System.out.println(" you chose number 2!");
} else if(choice.equals("3")) {
    System.out.println(" you chose number 3!");
} else if(choice.equalsIgnoreCase("q")) {
    System.out.println("the game will end now!");
    System.exit(0);
}
Run Code Online (Sandbox Code Playgroud)

您还可以解析为整数并使用 进行比较==

上面的代码将获取用户输入的字符串。然后它会检查它是否等于 1、2、3 或 q,然后相应地执行行。检查 Q 并忽略大小写。