繁体   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