簡體   English   中英

無法到達的陳述

[英]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.

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