[英]unreachable statement
我設計了一個循環來驗證用戶對某個問題的輸入,直到我添加了該循環為止,它都工作正常。
if (userInput.charAt(0) > NUMCOLS && userInput.charAt(0) < 0);
{
System.out.println("Error, " + userInput + " is an invalid move.");
continue;
}
在這之前
if (userInput.charAt(2) !='-')
{
System.out.println("Error, " + userInput + " is an invalid move.");
continue;
}
現在,每當我嘗試編譯時,我都會收到一條錯誤消息,指出這是一條無法訪問的語句 ,這是什么原因引起的?
有一個虛假的';' 在您添加的代碼的第一行中,使第一行continue;
總是執行!
這兩個條件不能同時成立,並且編譯器已意識到這一點。
大聲朗讀:
如果用戶輸入的第一個字符大於NUMCOLS 並且小於0! 如果NUMCOLS為0或更大,則第二個條件不能同時成立,反之亦然。
您的if
測試有一個空的身體!
因此,下面的代碼將始終執行,並且由於存在continue
代碼,因此以下指令將永遠不會執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.