私のコードは無限ループを引き起こしています。私はどこにも見つからず、私を狂ってしまいます。これに関する助言?以下の3つの方法のいずれかになる必要があります。それは1つのリンクされたリストを含む。どんな助けも素晴らしいだろう。おかげ無限ループの原因を見つけることができません
public boolean checkNotSamePlacements() {
Link current = head;
while (current != null) {
Link current2 = head;
while (current2 != null) {
if (current != current2) {
if (current.piece.col == current2.piece.col && current.piece.row == current2.piece.row) {
return true;
}
}
current2 = current2.next;
}
current = current.next;
}
return false;
}
public void checkAttacking() {
boolean foundPieces = false;
Link current = head;
while (current != null) {
Link current2 = head;
while (current2 != null) {
if (current != current2) {
if ((current.piece.isAttacking(current2.piece)) && foundPieces == false) {
System.out.print(current.piece.pieceType + " " + current.piece.col +
" " + current.piece.row + " " + current2.piece.pieceType +
" " + current2.piece.col + " " + current2.piece.row);
foundPieces = true;
}
}
current2 = current2.next;
}
current = current.next;
}
if (foundPieces == false) {
System.out.print("-");
}
}
public void checkSpotFound (int col, int row) {
boolean foundPiece = false;
Link current = head;
while (current != null) {
if (current.piece.col == col && current.piece.row == row) {
System.out.print(current.piece.pieceType);
foundPiece = true;
}
}
if (foundPiece == false) {
System.out.print("-");
}
}
}
を、あなたのデバッガでこれをステップ実行することで何を学びましたか? –
'checkSpotFound'では' current'を更新しません。 'current!= null'にループします。したがって、無限ループ。 –
私の教授は、デバッガの使い方を教えてくれていません。 – NoviceProgrammer123