无法达成的陈述

时间:2010-03-05 04:43:21

标签: java loops

我设计的循环用于验证用户对问题的输入,它在我添加之前一直正常工作;

        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;
        }

现在每当我尝试编译时,我都会收到一条错误,指出这是一个无法访问的语句,是什么导致了这个?

3 个答案:

答案 0 :(得分:10)

有一个虚假的';'在添加的代码的第一行,使第一个continue;始终执行!

答案 1 :(得分:3)

这两个条件不能同时成立,编译器也知道这一点。

大声读出来:

如果用户输入的第一个字符大于NUMCOLS 小于0!如果NUMCOLS为0或更大,则第二个条件不能同时为真,反之亦然。

答案 2 :(得分:3)

你的if测试空身!

所以下面的代码总是被执行,因为有continue代码,所以从不执行以下指令..