我是一個對編程有點新興的學生,我被要求在java中創建一個程序來讀取數獨網格中的數字,並確保列和行中沒有重複的數字,這是我到目前爲止有:在2x2數組中找到重複的數字。 (Java)
int e=0;
int h=0;
boolean k = true;
int sd = 0;
for (int i=0; i< 9; i++){
for (int j=i+1; j< 9; j++){
if (sudoku[j][0]==sudoku[i][0]){
k=false;
}
}
}
for (int i=0; i< 9; i++){
for (int j=i+1; j< 9; j++){
if (sudoku[0][j]==sudoku[0][i]){
k = false;
}
}
}
if (k){
System.out.println("Valid sudoku");
}
else if (!k){
System.out.println("Not a valid sudoku");
}
}
我的代碼不工作應該的方式,因爲它總是顯示有效的數獨遊戲,即使它是不應該的,我想知道我怎麼能解決這個問題。 在此之前,我感謝您給我的任何幫助。 (我的想法是掃描,就好像它是一個1x1數獨,但加0,所以它開始於第0列和每一行的行)。
在這樣的時候,你會搶奪一個重要的學習機會,讓其他人指出問題給你。相反,請學習如何使用IDE的調試器,並逐行執行代碼(提示:直到碰到錯誤的代碼纔會花很長時間)。 – Kon 2015-03-08 17:50:47
如果您不使用IDE,請添加打印語句以瞭解代碼的流程。 – CKing 2015-03-08 17:52:58
或者您可以嘗試三個循環,或者只需使用HashSet並檢查數字是否重複。 – Prashant 2015-03-08 18:01:11