как я могу получить и запустить класс Main здесь?
Я хочу, чтобы отображались примечания и частота.
Поскольку оценка карты кратковременная, я должен воссоздать еев методе Load.Как именно это сделать?
Задача:
Реализуйте метод отсутствующей загрузки, соответствующий методу сохранения.Примечание. Атрибут gradeCount является временным, поэтому он не сохраняется.Поэтому забудьте о том, что при загрузке не пересчитывайте значения для gradeCount.
Я уже начал писать метод загрузки, но не могу продолжить.
Сначалакласс:
public class Exam implements Serializable {
private List <StudentGrade> grades = new ArrayList<>();
private transient Map <Integer, Integer> gradeCount;
public List<StudentGrade> getGrades() {
return grades;
}
public void setGrades(List<StudentGrade> grades) {
this.grades = grades;
}
public Map<Integer, Integer> getGradeCount() {
return gradeCount;
}
public void setGradeCount(Map<Integer, Integer> gradeCount) {
this.gradeCount = gradeCount;
}
public static void save(String string, Exam exam) {
// TODO Auto-generated method stub
}
public static Exam load(String string) {
// TODO Auto-generated method stub
return null;
}
}
Второй класс:
public class StudentGrade implements Serializable {
private String student;
public String getStudent() {
return student;
}
public void setStudent(String student) {
this.student = student;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
private int grade;
public StudentGrade (String student, int grade) {
super();
this.student = student;
this.grade = grade;
}
}
Основной класс:
public class Main {
public static void main(String[] args) throws ClassNotFoundException, IOException {
Exam exam = new Exam();
exam.getGrades().add(new StudentGrade("Alice", 230)); // 2,3
exam.getGrades().add(new StudentGrade("Bob", 170)); // 1,7
exam.getGrades().add(new StudentGrade("Charlie", 300)); // 3,0
exam.getGrades().add(new StudentGrade("Dennis", 330));// 3,3
exam.getGrades().add(new StudentGrade("Edith", 170)); // 1,7
Exam.save("exam.ser", exam);
exam = Exam.load("exam.ser");
System.out.println(exam.getGradeCount());
}
public static void save (String filename, Exam exam) throws IOException{
try (ObjectOutputStream out = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(filename)))){
out.writeObject(exam);
}
}
public static Exam load (String filename) throws IOException, ClassNotFoundException{
Map <Integer, Integer> gradeCount;
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(filename));
Exam exam = new Exam ();
exam = (Exam) ois.readObject();
ois.close();
return exam;
}
}