-2
這可能有利於任何試圖動態填充ArrayList的人。輸出覆蓋之前保存在ArrayList中的變量
Spikes[]
是代表遊戲板的數組。
下面是一個條件語句。
if(Spikes[inte1]>=1 && Spikes[inte2]>=1 && Spikes[destination1]>=0 && Spikes[destination2]>=0){
inte1和inte2是int代表片段的初始位置。 destination1和destination2是代表初始位置+骰子滾動的整數;
由於Spikes是一款遊戲板,許多初始位置+骰子滾動許多不同的目的地都可以滿足條件。
如果滿足條件,可以生成許多可能的移動。
當我將可能的移動保存到ArrayList時,我的問題是(如果滿足條件),第一個'可能的移動'生成的4個整數被後面4個可能的移動整數覆蓋, 。
因此,我不保存所有可能的移動到任何可用於稍後排序的數組列表。
我試過 將每個變量分別保存到int數組中以便後來合併,但仍然覆蓋。 嘗試創建一個遊戲板對象,但出現錯誤。
輸出可以是一維或二維數組列表。
if(Spikes[0]>=1 && Spikes[inte2]>=1 && Spikes[destination1]>=0 &&
Spikes[destination2]>=0){
c.addMoveToArray(inte1, inte2, destination1, destination2);}
public int addMoveToArray (int inte1, int inte2, int destination1, int
destination2) {
ArrayList<Integer> plist = new ArrayList<Integer>();
plist.add(inte1); plist.add(inte2); plist.add(destination1);
plist.add(destination2);
for (int i=0; i<plist.size();i++) {
System.out.println(plist);
}
Output in console
[5, 0, 8, 10]
[6, 0, 9, 11]
[7, 0, 10, 12]
[8, 0, 11, 13]
您是否使用索引或'。新增()',如果你使用的第一,以前的將被覆蓋 –
添加一些更多的代碼和 –
您正在創建一個新的ArrayList每次確切的錯誤/異常調用addMoveToArray,然後在打印其內容後將該列表扔掉 – FredK