0

次のような宿題の問題があります。

(20ポイント)次の生徒クラスを作成します。

  • 学生の名前を格納するための「name」という名前のプライベート文字列変数
  • この学生の一意のID番号を含む「UFID」という名前のプライベート整数変数
  • 学生の生年月日を保存する「DOB」という名前のプライベート文字列変数
  • これまでに作成された学生の数を追跡するnumberOfStudentsという名前のプライベート整数クラス変数
  • パブリックコンストラクタStudent(String name、int UFID、String dob)
  • すべてのプロパティのいくつかのパブリックget/setメソッド

    getName/setName
    getUFID/setUFID
    getDob/setDob
    
  • 現在登録されている学生のリストを保持するテストプログラムroster.javaを作成します。新しい学生を登録し、既存の学生をドロップできるようにするためのメソッドが必要です。

私は誰かに私のためにこの割り当てをするように頼んでいません、私は本当にいくつかの一般的なガイダンスが必要です。私はStudentクラスがかなりよくできていると思いますが、メソッドが何addStudent()dropStudent()すべきかを正確に伝えることはできません-それは配列などに要素を追加するべきですか、それとも単に生徒の数を増やすべきですか?私がこれまでに持っているコードは次のようになります。

public class Student {
    private String name;
    private int UFID;
    private String DOB;
    private static int numberOfStudents;

    public Student(String name, int UFID, String DOB) {
        this.name = name;
        this.UFID = UFID;
        this.DOB = DOB;
    }

    public String getDOB() {
        return DOB;
    }

    public void setDOB(String dOB) {
        DOB = dOB;
    }

    public int getUFID() {
    return UFID; }

    public void setUFID(int uFID) {
    UFID = uFID; }

    public String getName() {
        return name;
    }

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

    public int getNumberOfStudents() {
        return numberOfStudents;
    }

    public void setNumberOfStudents(int numberOfStudents) {
        Student.numberOfStudents = numberOfStudents;
    }

    public static void addStudent(String name, int UFID, String DOB) {
        numberOfStudents++;
    }

    public static void dropStudent(String name) {
        numberOfStudents--;
    }
}

私がこれを終えるときのどんなガイダンスも大いにありがたいです。

4

1 に答える 1

3

課題はそれ自体を記述します。Student のコレクションを所有および管理する Roster クラスが必要です。

public class Roster {
    private Set<Student> roster = new HashSet<Student>();

    public void addStudent(Student s) { this.roster.add(s); }

    public void removeStudent(Student s) { this.roster.remove(s); }
}
于 2012-11-26T03:13:21.613 に答える