0
我有兩維的arrayList,我想替換程序中設置的那個。問題是,如果我用「ONE」替換arrayList的值,它將工作,如果我用另一個大於1的值替換它,程序將進入循環。我正在使用以下語法:替換二維java ArrayList的值
arrayList.get(index).set(index2,VALUE)
基本上這應該不會發生,因爲我沒有改變循環內的任何東西,或? 我的問題是爲什麼?以及如何解決它?
這是(我假設)產生的問題是代碼:
if(mark.get(index1).get(index2) == 1 && mark.get(i-1).get(j) != 1){
// Replace the value
mark.get(i-1).set(j,1);
flag = true;
}
編輯:我刪除了我的代碼,因爲它給了我想要的代碼幫助的印象,我已經貼吧,這樣你知道我在說什麼。謝謝
這是我們嘗試調試的很多代碼。我們不是這裏的調試服務。請嘗試自己調試它。如果你在你的代碼中找到了一個沒有產生你期望的結果的地方,而你不明白爲什麼,我們可以幫你解決這個問題。 – ajb 2014-11-05 02:26:21
你應該閱讀羅伯特C.馬丁的書乾淨的代碼。你也應該開始重構你的代碼,爲每個方法做一些簡單的事情,並進行單元測試,這樣你就知道每種方法都符合你的預期。最後一步一步完成代碼,分析你的變量和值,以確保它按照你的期望運行。發佈幾百行代碼,並希望別人爲您調試不是一種學習方式。 – Churk 2014-11-05 02:38:56
@ajb我沒有發佈代碼進行調試。我的問題與我發佈的相同。如果我想用一個以外的值替換一個值,arraylist.set()方法就會中斷。我想知道是否有人代碼描述arraylist.set行爲。我的代碼完美工作,並給出了預期的結果。 – aaa 2014-11-05 02:44:49