簡體   English   中英

Java跳過if else語句

[英]java skipping over if else statement

我制作了一個程序,該程序允許用戶制作芝士漢堡,然后詢問是否要配菜,然后詢問是否要訂購另一個芝士漢堡。 當我運行程序時,它將跳過最后的if else語句。

   String orderAnother = sc.nextLine();
if (orderAnother.equalsIgnoreCase("yes")) {
    System.out.println("Great! Another cheeseburger is on its way!");
} else {
    System.out.println("Okay! Thanks for stopping at The Burger Shack and have a great day!");
}

我有什么不對的地方嗎? 感謝幫助!

問題是

因為Scanner#nextInt方法不會占用您輸入的最后一個換行符,因此在下一次調用Scanner#nextLine時會占用換行符

觸發空白的nextLine()以消耗換行符,或者將nextInt()更改為nextLine()並將其解析為整數。

進一步的詳細信息位於: 掃描儀在使用next(),nextInt()或其他nextFoo()方法后跳過nextLine()

我嘗試運行您的代碼,發現以下行:

cheeseburgerParts a = new cheeseburgerParts();

我刪除了這一行,然后進行了程序編譯而沒有任何錯誤,並且所有操作均正常進行。 如果您確實出於某些原因在使用該行,請檢查該類,該類可能有錯誤。 您應該使用while而不是其他很多次。 希望有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM