数独ゲームを表す 2D 配列があります。
典型的な数独ゲームと同じように、ゲームのエラーをチェックしようとしています:
行、列、または 3x3 の正方形内で数字 (1 ~ 9) が繰り返されることはありません。空のセルはありません。
私はJavaに非常に慣れていないので、これに取り組むには限られた知識しかありませんでした。すべてのセルを比較する長い if, else ステートメントを試すつもりでした。-1 が繰り返されたため、うまくいきませんでした。(-1 は空の正方形を表します)。私はこれを回避しようとしましたが、この if ステートメントはあまりにも面倒であり、より良い方法が必要であることに気付きました。
これを行う最善の方法は、ネストされた for ループを使用して、各行、列、および 3x3 の正方形を通過することだと思います。一方、空のセルを確認すると、わかったと思います。(2D 配列内の -1 のステートメント チェック用にネストされています)。
行、列、または 3x3 の正方形のすべての数字を合計することも考えていました。45 に等しくない場合、ゲームは不完全なままになりますか?
繰り返し値をチェックする限り、ネストされた for を実装する方法がわかりません。
編集:少し明確にさせてください。繰り返し値をチェックしたくはありません。繰り返し値がある場合、ゲームを不完全なままにしておきたいだけです。(たとえば、繰り返し値を許可しても、実際の数独パズルのようにゲームに勝つことはできません)。45メソッドに追加するのが最もうまくいくと思います。