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