Cześć, piszę program, który na podstawie HashMap wyświetli imię ucznia, jego oceny oraz ich średnią.
Zatrzymałem się na etapie pisania metody liczącej średnią, nie wiem czy została napisana poprawnie i mam problem z jej wywołaniem.
A jak ją dodać tak aby liczyła automatycznie średnie ze zmiennych i je wyświetlała.....
Załączam cały kod:
import java.util.;
import java.lang.;
import java.io.*;
class Name
{
private String name;
public String getName()
{
return name;
}
public void setName(String newName)
{
name = newName;
}
public Name(String name)
{
this.name = name;
}
public String toString()
{
return name;
}
}
class Grades
{
private Integer grade1;
private Integer grade2;
private Integer grade3;
private Integer grade4;
private Integer grade5;
public Integer getGrade1()
{
return grade1;
}
public Integer getGrade2()
{
return grade2;
}
public Integer getGrade3()
{
return grade3;
}
public Integer getGrade4()
{
return grade4;
}
public Integer getGrade5()
{
return grade5;
}
public void setGrade1(Integer newGrade1)
{
grade1 = newGrade1;
}
public void setGrade2(Integer newGrade2)
{
grade2 = newGrade2;
}
public void setGrade3(Integer newGrade3)
{
grade3 = newGrade3;
}
public void setGrade4(Integer newGrade4)
{
grade4 = newGrade4;
}
public void setGrade5(Integer newGrade5)
{
grade5 = newGrade5;
}
public Grades(Integer grade1, Integer grade2, Integer grade3, Integer grade4, Integer grade5)
{
this.grade1 = grade1;
this.grade2 = grade2;
this.grade3 = grade3;
this.grade4 = grade4;
this.grade5 = grade5;
}
public String toString()
{
return grade1 + " , " + grade2 + " , " + grade3 + " , " + grade4 + " , " + grade5;
}
double five = 5.0;
private double average = (grade1 + grade2 + grade3 + grade4 + grade5) / five;
public double getAverage()
{
return average;
}
public void setAverage(double newAverage)
{
average = newAverage;
}
public Grades(double average)
{
this.average = average;
}
public String averageToString()
{
return "-->" + average;
}
}
class Main
{
public static void main (String[] args) throws java.lang.Exception
{
Name name1 = new Name("Kacper");
Name name2 = new Name("Jacek");
Name name3 = new Name("Kuba");
Name name4 = new Name("Michal");
Name name5 = new Name("Szymon");
Grades firstGrades = new Grades(2, 4, 5, 6, 1);
Grades secondGrades = new Grades(4, 4, 4, 1, 1);
Grades thirdGrades = new Grades(5, 6, 4, 5, 3);
Grades fourthGrades = new Grades(2, 5, 5 ,5, 3);
Grades fifthGrades = new Grades(1, 1, 1, 4, 3);
HashMap<Name, Grades> map = new HashMap<Name, Grades>();
map.put(name1, firstGrades);
map.put(name2, secondGrades);
map.put(name3, thirdGrades);
map.put(name4, fourthGrades);
map.put(name5, fifthGrades);
for (HashMap.Entry<Name, Grades> entry : map.entrySet())
{
System.out.println("Name: " + entry.getKey() + " Grades: " + entry.getValue());
}
}
}