0
조건이 충족되지 않고 종료되는 do while 루프가 있는데 이유가 확실하지 않습니다. 체크의 행과 열을 디버깅 할 때 (4,10)이고 목표는 (4,1)입니다. 어떤 아이디어?Java Do While 루프 건너 뛰기 조건
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());
그것은 주목할 가치가 있다고 나는 상단에 검사 초기화를 변경하는 경우에 :
do{
check = unexplored.get();
....
루프 :
Position check = null;
하고이 같은 루프의 상단으로 설정 같은 지점에서 끝난다. 당신이 check
및 goal
가 동일한 셀을 참조하는 경우에만 종료하려면
그렇지 않습니까? 'check'와'goal' 열 또는 행이 같지만 둘 다 같지 않으면 끝내지 않겠습니까? – PTRFRLL
다른 행이나 다른 열이면 계속 진행합니다. –
오오오! 이봐. 고맙습니다! – PTRFRLL