Java Do While循环跳过条件
我有一个do-while循环,它在不满足条件的情况下终止,我不知道为什么。当我调试check时,它的行和列是(4,10),目标是(4,1)。有什么想法吗Java Do While循环跳过条件,java,debugging,loops,do-while,Java,Debugging,Loops,Do While,我有一个do-while循环,它在不满足条件的情况下终止,我不知道为什么。当我调试check时,它的行和列是(4,10),目标是(4,1)。有什么想法吗 Position check = unexplored.get(); do{ if(isValid(check.up())){ unexplored.put(check.up()); numUnexplored++; } if(isValid
Position check = unexplored.get();
do{
if(isValid(check.up())){
unexplored.put(check.up());
numUnexplored++;
}
if(isValid(check.right())){
unexplored.put(check.right());
numUnexplored++;
}
if(isValid(check.down())){
unexplored.put(check.down());
numUnexplored++;
}
if(isValid(check.left())){
unexplored.put(check.left());
numUnexplored++;
}
explore(check);
explored.put(check);
check = unexplored.get();
}while(check.getColumn() != goal.getColumn() && check.getRow() != goal.getRow());
值得注意的是,如果我将顶部的检查初始化更改为:
Position check = null;
然后将其设置在循环的顶部,如:
do{
check = unexplored.get();
....
循环在同一点终止。如果只想在
检查和目标引用同一单元格时退出,则需要在状态下将和更改为|
,而状态下的检查和目标引用同一单元格时退出。如果只想在检查和目标引用同一单元格时退出,然后,您需要在while
条件下将&
更改为|
。如果您只想在选中和目标
引用同一单元格时退出,然后您需要在while
条件下将&
更改为|
。如果您只想在检查和目标引用同一单元格时退出,那么您需要在while
条件下将&
更改为|
。这不是吗?如果check
和goal
s列或行相同,但不是两者都相同,那么这不会终止吗?如果它是不同的行或列,则希望它继续。Ohhhh!嗯。非常感谢。那不是吗?如果check
和goal
s列或行相同,但不是两者都相同,那么这不会终止吗?如果它是不同的行或列,则希望它继续。Ohhhh!嗯。非常感谢。那不是吗?如果check
和goal
s列或行相同,但不是两者都相同,那么这不会终止吗?如果它是不同的行或列,则希望它继续。Ohhhh!嗯。非常感谢。那不是吗?如果check
和goal
s列或行相同,但不是两者都相同,那么这不会终止吗?如果它是不同的行或列,则希望它继续。Ohhhh!嗯。非常感谢。