私は、この方法が自分のプログラムの問題の原因であることを発見しました。それにはチェスピースオブジェクトを含む 'theBoard'というリンクリストが含まれています。デバッガをステップ実行するとき、デバッガはこのチェックメソッドにヒットすると終了します。誰もがそれの問題が何であるか知っていますか?これはどのように無限ループを引き起こしていますか?
EDIT:この方法では、リンクリスト内の1つのチェススピスがリンクリスト内の別のチェススピースを攻撃できるかどうかをチェックします。 theBoard(部分が追加された別のクラスで作成されたリンクリストオブジェクト)をパラメータとして受け取ります。
「.isAttacking」メソッドは、あるピースが他のものを攻撃できるかどうかをチェックします(各ピースクラスのメソッド、各ピースクラスは抽象的な「chessPiece」クラスを拡張します)。
何か間違っていますか?私はIntellijデバッガを使用して、行ごとに行っています。このメソッド呼び出しを実行すると、デバッガは停止しているようです。
public void checkAttacking (chessBoard theBoard) throws FileNotFoundException {
boolean foundPieces = false;
Link current = theBoard.head;
while (current != null) {
Link current2 = theBoard.head;
while (current2 != null) {
if (current != current2) {
if ((current.piece.isAttacking(current2.piece)) && foundPieces == false) {
System.out.println(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("-");
}
}
ようこそ!明確にするために[あなたの質問を編集する](https://stackoverflow.com/posts/41914995/edit)をお願いしますか?あなたが経験している無限ループとは何ですか? 「デバッガが終了しました」とはどういう意味ですか?あなたが参照している "チェック方法"はどれですか?ありがとう! – cxw
2つのループがあります。 – efekctive
解説のために編集しました – NoviceProgrammer123