我正在研究一個數獨求解器,並且solve-method給出了一個錯誤,我暫時用一個try和catch異常「解決了」。刪除try/catch異常
但是,我有點擔心,我正在抓住ArrayIndexOutOfBoundsException
。我只想修復錯誤,而不是將其隱藏在try/catch異常中。
這是try/catch語句的樣子:
try {
if (puzzle.getNum(i, j) != puzzle.blank)
return solve(nexti, nextj);
} catch (ArrayIndexOutOfBoundsException e) {
return true;
}
我在想,既然我已經得到的信息時x > 8
是時候改變行,從而導致y++
。當所有81個(9x9)單元格都被填滿時,應該完成該程序。
我想圍繞改變的try/catch方法簡單
if((i > 8) && (j > 8)){
return true;
}
的線,但是這給了我一堆錯誤也是如此。
我確定修復非常簡單,但在概念上很重要。
什麼是拋出界外例外(我沒有看到任何數組訪問繼續)? – Daedalus 2013-03-20 14:58:57
是我的行數? – ITroubs 2013-03-20 14:59:47
可以通過改變你提出的if條件來使它工作嗎?而不是&&? – jmrodrigg 2013-03-20 15:01:27