我無法理解如何使用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