2012-02-19 11 views
0

私は自分のコードを更新しましたが、完成したスドクボード内の3x3ブロックをチェックして繰り返し番号がないかどうかを調べる方法はまだ不足していました。これは私が更新した私の方法です。 あるブロック内の整数を比較するSudoku Java

static boolean isBlock1Valid(int[][] sudokuBoard, int referenceRow, int referenceColumn) 
{ 

    boolean[] seen = new boolean[9]; 

    for (int i = 0; i < 3; i++){ 

     for (int j = 0; j < 3; j++){ 

      if (seen(sudokuBoard[referenceColumn+i][referenceRow+j])) return false; 


    else (seen(sudokuBoard[referenceColumn+i][referenceRow+j])) = true; 
    } 
    } 
return true; 
}//end of isBlock1Valid 

この

は角括弧を使用する必要があり、アレイ内のセルへのアクセス

public static void Validate(final int[][] sudokuBoard) 
{ 
    int width = sudokuBoard[0].length; 
    int height = sudokuBoard.length; 

    for(int i = 0; i < width; i++) 
     if(!IsValidRow(sudokuBoard, i, width)) 
     { 
      System.out.print("Invalid entry found \n (Row)" + "\t"+ i + "\n"); 
      //Do something - The row has repetitions 
     } 
     else{ 
      System.out.print("Row " +i + " is valid \n"); 
     } 
    for(int j = 0; j < height; j++) 
     if(!IsValidColumn(sudokuBoard, j, height)) 
     { 
      System.out.print("(Column)" + j + "\n"); 
      //Do something - The columns has repetitions 
     } 
     else{ 
      System.out.print("Column " +j +" is valid \n"); 
     } 
    for(int i=0; i<2; i++) 
     if(!IsBlock1Valid(sudokuBoard,i, j)){ 
      System.out.print("hi"); 
     } 

} 
+0

このコードで何が問題になっていますか?それは失敗ですか?入力には? –

+0

私はこのコードがコンパイルされないと信じています:D –

+0

いいえ、コンパイルされていません。私は 'boolean [] seen'を使って参照列と行を正しくチェックしていませんか? –

答えて

2

をisBlock1Valid方法に送信するparametrs私にはわからない呼び出し方法であり、そしてseenは配列です。

seen[sudokuBoard[referenceColumn+i][referenceRow+j]] 
+0

を持っている呼び出しメソッドで質問を更新します。それは、メソッドのすべてのエラーメッセージをクリアするようです。本当にありがとう –

関連する問題