亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在不使用數組的情況下將多個項目添加到ArrayList

如何在不使用數組的情況下將多個項目添加到ArrayList

慕容708150 2021-03-30 12:11:08
我正在學習Java并嘗試一些東西。我希望能夠打印學生的姓名及其課程和成績。我已經編寫了以下課程來實現這一目標,但是由于我是新手,所以我想知道自己是否正確地做到了。該代碼確實顯示了我想要的內容,但是如何最好地對其進行優化?Subject 班級:public class Subject {    private String subjName;    private int subjGrade;    public Subject(String subjName, int subjGrade) {       this.subjName = subjName;       this.subjGrade = subjGrade;    }    public void setName(String name) {        this.subjName = name;    }    public String getName() {        return subjName;    }    public int getGrade(){        return subjGrade;    }    @Override    public String toString() {        return String.format( getName() + ", Grade:" + getGrade());    }}StudentSubJGrade 班級:import javax.swing.text.html.HTMLDocument;import java.util.ArrayList;import java.util.Arrays;import java.util.Iterator;public class StudentSubJGrade {    String name;    Subject[] subjects;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public void setSubjects(Subject[] subjects) {        this.subjects = subjects;    }    public StudentSubJGrade(String name, Subject[] subjects) {        this.name = name;        this.subjects = subjects;    }    @Override    public String toString() {        return String.format("Name:" + getName() + " Subjects:" +   Arrays.toString(subjects));    }}我覺得我可以通過ArrayList添加主題,但經過數小時的嘗試后卻無法提出如何做。不用像我一樣使用數組怎么辦?
查看完整描述

2 回答

?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

您必須使用數組,因為StudentSubJGrade構造函數希望第二個參數是Subject[]。但是,您可以簡化數組的創建:


import java.util.ArrayList;


public class StudentSubjGradeDriver {


    public static void main(String[] args) {


        ArrayList<StudentSubJGrade> test = new ArrayList<>();

        ArrayList<StudentSubJGrade> test2 = new ArrayList<>();


        Subject[] subjects = new Subject[] {

            new Subject("Maths",80),

            new Subject("Physic",90),

            new Subject("Chemistry",70)

        };


        Subject[] subjects1 = new Subject[] {

            new Subject("Maths",80),

            new Subject("Physic",90),

            new Subject("Chemistry",70),

            new Subject("Geography",90)

        };


        test.add(new StudentSubJGrade("Hassan",subjects));

        test2.add(new StudentSubJGrade("James",subjects1));   


        System.out.println(test);

        System.out.println(test2);    

    }

}


查看完整回答
反對 回復 2021-04-21
  • 2 回答
  • 0 關注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號