こんにちは、完成したボードのソリューションが正しいことを確認する数独チェッカーに取り組んでいます。私は現在、ブロック内をチェックする方法に困惑しています。現在、左上のブロック(Block1)をチェックしている次のようなブール値があります。私が確信していないのは、それを設定するパラメータと、2 つの for ループを正常に実行する方法です。
問題は、3x3 の正方形に凝縮された 2 次元配列のセクションをチェックし、その領域の整数が繰り返されていないかどうかを確認したいことです。行に繰り返し整数と列があるかどうかを確認するこのコードを作成した同様のコードがあります。
static boolean isBlock1Valid(int[][] sudokuBoard, int referenceRow, int referenceColumn)
{
for(int i =0; i<2;i++){
for(int j=0; j<2; j++){
if(sudokuBoard[i][j]==sudokuBoard[i][j])
return false;
}
}
return true;
}//end of isBlock1Valid
これは、ブロックチェッカーを作成するために参照として使用した行チェッカーです
static boolean IsValidRow(int[][] sudokuBoard, int referenceRow, int width)
{
//Compare each value in the row to each other
for(int i = 0; i < width; i++)
{
for(int j = i+1; j < width; j++)
{
if(sudokuBoard[referenceRow][i] == sudokuBoard[referenceRow][j])
return false;
}
}
return true;
}