我有一個二維數組,它代表了一個數獨遊戲。在Java中比較數組中的值?
我試圖檢查遊戲的錯誤使用典型的數獨遊戲:
無數字(1-9)是行,列或3×3平方米範圍內重複。 沒有空單元格。
我很新到Java,所以我只在有限的知識,來處理這個。我將嘗試一個比較所有單元格的long if,else語句。這沒有用,因爲-1被重複了。 (-1代表空方塊)。我試圖解決這個問題,但意識到如果這個陳述過於混亂,並且必須有更好的方法。
我現在認爲最好的方法是使用嵌套for循環遍歷每行,每列和3x3方塊。另一方面檢查空單元格,我想我已經想通了。 (在二維數組中嵌套用於檢查-1的語句)。
我也在考慮把所有的數字加在一行,一列或3x3的方格中,如果它不等於45,那麼遊戲仍然不完整?
至於檢查重複值,我不知道如何實現嵌套的。
編輯:讓我澄清一下,我並不是真的想檢查重複值每說,我只是希望遊戲保持不完整,如果有重複的價值。 (例如,允許重複值,就像真正的數獨謎題一樣,不會贏得遊戲)。我覺得加入45方法最好。
首先實現這個方法:'公共布爾hasDuplicates(int ...數字)'。如果你只能執行一次,那麼只需要改變你傳遞給列,行或3x3方塊的內容。給一個鏡頭,並顯示你已經嘗試過。 –