数独ソルバーで問題が発生しました。入力した数独パズルが正しいかどうかをチェックするプログラムを作成する必要があります。各行、列、および「ミニボックス」が機能しているかどうかを確認するコードがあります。私の唯一の問題は、パズルを印刷することです。これは私がこれまでに持っているものです:
public String printGrid(int size, int[][] puzzle){
double temp = Math.sqrt(size);
for(int row = 0; row < size; row++){
for(int column = 0; column < size; column++){
System.out.print(puzzle[row][column]);
if(column == temp - 1) {
System.out.print("|");
}
if(row == temp - 1){
for(int i = 0; i < size; i++){
System.out.print("-\t");
}
}
if(column == size - 1) {
column = 0;
row++;
}
}
}
return "Correct!";
}
例として、サイズは4になり、入力された数独は次のようになります。
1 2 3 4
4 3 2 1
3 4 1 2
2 1 4 3
私の出力は次のようになります。
1 2 | 3 4
4 3 | 2 1
----+----
3 4 | 1 2
2 1 | 4 3
ただし、現在のコードではArrayOutOfBoundsエラーが発生し、次のように出力されます。
- 2- - - - 1- - - - 4|121|43
このメソッドを出力に書き込む方法に完全に迷っていますが、誰かが私のためにこれに光を当てることができますか?(また、すべての数独が「正しい!」を返すという事実を無視してください。私はそれを自分で理解できるはずです。)