我无法理解如何使用Java switch语句。在其中一个case语句中执行方法后,它仍然会转到默认语句并运行该语句。代码如下:
Scanner scanner = new Scanner(System.in);
String option = null;
while (option != "5") {
ShowMenu();
option = scanner.nextLine();
switch (option) {
case "1": ViewAllProducts(); break;
case "2": ViewProductDetails(scanner); break;
case "3": DeleteProduct(scanner); break;
case "4": AddProduct(scanner); break;
case "5": break;
default: System.out.println("Invalid option. Please try again."); break;
}
}
上面的代码是主要的方法。例如,运行案例“4”后,它会打印“无效的选项”。
必须是'while(!“5”.equals(option)){}' – adatapost
哇。感谢大家..对我来说,这是一个C#编码器,这是非常奇怪的..我们在C#中没有这个问题。以上这些都不是问题。非常有趣的LOL。 – Matt
问题是引用相等VS值相等和C#也有这个问题,但幸运的是在C#重载'=='运算符字符串。 – Premraj