Witam mam klasę student która reprezentuje studenta mam także klasę Grade która reprezentuje stopnie na studiach
do tego w jednej z klas chce chce pobrać imię i nazwisko studenta ale także jego stopień i zapisać do mapy następnie chce znaleźć najwyższe oceny końcowe z tych przedmiotów
public class Student extends Person implements IStudent {
private String indexNumber;
private Specialization specialization;
private int ageStudies;
private Yearbook yearbook;
private List<Grade> gradeList = new ArrayList<>();
public String getIndexNumber() {
return indexNumber;
}
public void setIndexNumber(String indexNumber) {
this.indexNumber = indexNumber;
}
@Override
public Specialization getSpecialization() {
return specialization;
}
@Override
public String getStudentFirstName() {
return getFirstName();
}
@Override
public String getStudentSurname() {
return getSurname();
}
public Yearbook getYearbook() {
return yearbook;
}
public void setYearbook(Yearbook yearbook) {
this.yearbook = yearbook;
}
public void setSpecialization(Specialization specialization) {
this.specialization = specialization;
}
public int getAgeStudies() {
return ageStudies;
}
public void setAgeStudies(int ageStudies) {
this.ageStudies = ageStudies;
}
public List<Grade> getGradeList() {
return gradeList;
}
public void setGradeList(List<Grade> gradeList) {
this.gradeList = gradeList;
}
public class Grade {
private int gradeFinal;
private Subject subject;
private List<Integer> gradeList = new ArrayList<>();
private double average;
public int getGradeFinal() {
return gradeFinal;
}
public void setGradeFinal(int gradeFinal) {
this.gradeFinal = gradeFinal;
}
public Subject getSubject() {
return subject;
}
public void setSubject(Subject subject) {
this.subject = subject;
}
public List<Integer> getGradeList() {
return gradeList;
}
public void setGradeList(List<Integer> gradeList) {
this.gradeList = gradeList;
}
public double getAverage() {
return average;
}
public void setAverage(double average) {
this.average = average;
}
public Grade(int gradeFinal, Subject subject, List<Integer> gradeList, double average) {
this.gradeFinal = gradeFinal;
this.subject = subject;
this.gradeList = new ArrayList<>(gradeList);
this.average = average;
}
public void whoHasTheBestScoreFromTheSubject() {
Map<Integer, String> grades = new HashMap<>();
for (int i = 0; i < studentList.size(); i++) {
IStudent student = studentList.get(i);
String firstName = student.getStudentFirstName();
String surname = student.getStudentSurname();
Integer finalGrade = student.getStudentFinalGrade();
grades.put(finalGrade, firstName + " " + surname);
grades.forEach((a, b) -> System.out.println(a + " " + b));
}
}
dodam że
getStudentFinalGrade()
Jeszcze nie istnieje tworzyłem ją ale nie wiem w jaki sposób ma zwracać finalGrade ponieważ getter nie sięga do tej klasy.
Druga sprawa jak to będzie gotowe to w jaki sposób znaleźć najwyższe oceny w tej mapie i przy okazji pobrać z wartości imię i nazwisko
całość na github
https://github.com/Baron762/deanery/tree/master/src/pl/javastart