4 回答

TA貢獻1820條經驗 獲得超10個贊
該數組應聲明為類的靜態字段。
private static ArrayList <Integer> intMarks;
private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
int intEnter = Integer.parseInt(this.txtEnter.getText());
intMarks.add(intEnter);
}
public static void main(String args[]) {
intMarks = new ArrayList();
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MarksCalculator().setVisible(true);
}
});
}

TA貢獻1831條經驗 獲得超10個贊
在您的代碼中,arraylistintMarks不是全局的,它是main方法的局部變量。
要使其成為全局變量,您必須使其成為您班級的直接變量。
class ClassName{
private static ArrayList <Integer> intMarks;
private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
int intEnter = Integer.parseInt(this.txtEnter.getText());
intMarks.add(intEnter);
}
public static void main(String args[]) {
intMarks = new ArrayList<>();
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MarksCalculator().setVisible(true);
}
});
}
}
此外,您必須使靜態在方法intMarks中使用它main

TA貢獻1875條經驗 獲得超3個贊
您可以使用單例設計模式。
public class Singleton {
private ArrayList<Object> arrayList;
private static Singleton instance;
private Singleton(){
? ? arrayList = new ArrayList<Object>();
}
public static Singleton getInstance(){
? ? if (instance == null){
? ? ? ? instance = new Singleton();
? ? }
return instance;
}
public ArrayList<Object> getArrayList() {
? ?return arrayList;
}
}
您可以在任何課程中增加價值。
public class ExampleClass{
Singleton.getInstance().getArrayList().add(sampleObject);
}

TA貢獻1809條經驗 獲得超8個贊
如果 arraylist 是全局的,那么它可以在同一類的任何函數中的任何地方訪問。雖然您可以添加 mArrayListName.add(1); 之類的值 即對于int類型的arraylist
添加回答
舉報