我设计的循环用于验证用户对问题的输入,它在我添加之前一直正常工作;
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;
}
现在每当我尝试编译时,我都会收到一条错误,指出这是一个无法访问的语句,是什么导致了这个?
答案 0 :(得分:10)
有一个虚假的';'在添加的代码的第一行,使第一个continue;
始终执行!
答案 1 :(得分:3)
这两个条件不能同时成立,编译器也知道这一点。
大声读出来:
如果用户输入的第一个字符大于NUMCOLS 且小于0!如果NUMCOLS为0或更大,则第二个条件不能同时为真,反之亦然。
答案 2 :(得分:3)
你的if
测试空身!
所以下面的代码总是被执行,因为有continue
代码,所以从不执行以下指令..