一千萬個為什麽

搜索

Java:在JOptionPane對話框中存儲對象數組中的數據

我需要知道如何使用我已經創建的Set方法在對象數組內的對象中插入數據。

我需要知道我應該如何通過用戶,我的意思是JOptionPane輸入對話框

student[] s = new student[5];

for (int i=1 ; i <= s.length ;i++) {
    s[i] = new student(i,"AAA","Ecommerce",0.0);
}

for (int i=1; i<=s.length;i++) {
    name = JOptionPane.showInputDialog("Please Write Name for student n " + i);
    major = JOptionPane.showInputDialog("Please Write Major for student n " + i);
    gpa = Double.parseDouble(JOptionPane.showInputDialog("Please Write GPA for student n " +i));

    s[i] = new student(i,name,major,gpa);  
}

我試圖在這裏通過JOptionPane從用戶獲取數據,但似乎我只使用我已經制作的構造函數,而不是Set方法。

我需要使用這些方法,因為它裏面有一些驗證代碼。

有任何想法嗎?

最佳答案

不要將值用作構造函數參數。

僅使用將分配內存的隱式構造函數。 至於set方法,請將它們寫成:

public void setName(String name) { this.name = name; }

在此設置方法中,執行驗證代碼。您的類需要具有私有屬性,這與構造函數參數完全相同。

然後更改 line s [i] = new student(i,name,major,gpa);

s[i] = new Student();
s[i].setNumber(i);
s[i].setName(name);
s[i].setMajor(major);
s[i].setGpa(gpa);

我希望這就是你的意思

編輯: 或者繼續使用構造函數,並在創建Student的新實例之前使用參數進行驗證

轉載註明原文: Java:在JOptionPane對話框中存儲對象數組中的數據