我正在開發一個小游戲,玩家單擊一個按鈕,其值來自二維數組。這就是游戲的外觀。如果玩家想要恢復他的操作,我想將玩家采取的步驟保存在列表中,當他單擊“恢復”按鈕時,列表的最后一項將被恢復。問題是我不知道如何將二維數組的索引保存到列表中。我的代碼很遠,因為數組如下for (int i = 0; i < buttons.length; i++) { for (int j = 0; j < buttons[i].length; j++) { counter++; buttons[i][j] = new JButton("" + counter); buttons[i][j].setBackground(Color.white); buttons[i][j].addActionListener(new ButtonPress()); fenster.add(buttons[i][j]);ActionListener 的代碼在這里:public void actionPerformed(ActionEvent e) { amountMoves++; moves.setText("Moves: " + amountMoves); int x = 0; int y = 0; for (int i = 0; i < buttons.length; i++) { for (int j = 0; j < buttons[i].length; j++) { if (((JButton) e.getSource()).equals(buttons[i][j])) { x = i; y = j; break; } } } }列表不是我的強項,到目前為止我只有這個: ArrayList<Integer> steps = new ArrayList<Integer>();我知道我可以添加一個元素并steps.add()刪除最后一個元素steps.remove(steps.size() - 1);,但到目前為止就是這樣任何幫助是極大的贊賞編輯:在@Johnny Mopp 和@SSP 的幫助下,我想出了該怎么做。首先,我創建了一個 String 類型的列表ArrayList<String> steps = new ArrayList<String>();(您也可以使用 JButton 類型的列表)并將其添加到 Actionlister 中steps.add(buttons[i][j].getText());
1 回答

弒天下
TA貢獻1818條經驗 獲得超8個贊
創建列表的列表:-
ArrayList<ArrayList<Integer>> steps = new ArrayList<>();
如果您要保存第 2 行和第 2 列數據,請保存如下值:-
steps.get(1).add(1{index of column},2{value to be stored});
如果您是第一次添加元素,您需要實例化對象,如下所示:-
if(steps.get(1) == null){ steps.get(1) = new ArrayList<>(); }
訪問數據
steps.get(1).get(2);
添加回答
舉報
0/150
提交
取消