Как использовать объект как переменную класса как ArrayList? - PullRequest
0 голосов
/ 28 мая 2019

У меня есть курс, в котором есть имя, учитель, студенты [];

public class Course implements Comparable<Course> {
variables ...
private Student[] students;


public Course(variables... int maxStudents) {
variables...
this.maxStudents = maxStudents;
students = new Student[maxStudents];
}

У меня есть курс Gradedes class

public class GradesList{
private Course course;
private ArrayList<Integer> grades;

public ListaOcen(Course course)
{
    this.course = course;
    grades = new ArrayList<>();
}

А еще у меня ученический класс

public class Student extends Person {
variables...
private ArrayList<ListaOcen> degresList;

public Student(variables...) {
    super(variables...);
    course = new Course[5];
    degresList = new ArrayList<>();

}

Я не могу понять, как именно я должен передать класс courseGrades как переменную ученического класса и как позже я могу заполнить этот список оценок. Пока что я создал эту функцию

public void addDeggre(Integer deggre) {
    if(deggre > 1 && deggre < 7)
        grades.add(deggre);
}

1 Ответ

0 голосов
/ 30 мая 2019

Чтобы использовать карту в классе курса, включите:

   private TreeMap<Student, Integer> grades = new TreeMap<>();
   private ArrayList<Student> students = new ArrayList<>();

Затем в классе курса есть метод для добавления студента, а также для установки оценки и получения оценки:

   public void addStudent( Student s ) {
      students.add(s);
      grades.put(s,0);
   }
   public void setGrade( Student s, int grade ) {
      grades.replace(s,grade);
   }
   public int getGrade( Student s ) {
      return grades.get(s).intvalue();
   }

Конечно, вам нужно добавить код для обработки ошибок, например, для setGrade () и getGrade (), если переданный студент отсутствует на карте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...