这是实验室的一部分,我找不出来......我无法弄清楚名单类中的addGrade方法有什么问题,我必须给学生添加一个成绩,如果学生尚不存在,创建一个新学生,然后添加成绩。请注意,最初,这个类没有实例变量Student stu,我试图让事情起作用时添加了它。为什么我无法将元素添加到Java中的LinkedList中?
学生提供了一个构造函数,学生成绩保存在一个链表中。我只把代码的一部分放在这里......它有一些方法来获得学生的名字,获得分数,增加分数,并获得平均分数。
我的代码在经过一些编辑后不再有效......当它部分工作时,它只是覆盖了以前的最新版本的学生。学生a添加了5年级,然后学生b添加了7,然后学生a再次添加了10.这应该让学生a在链接列表中有2个条目(5,10)。当我运行我的代码时,它只有10个学生,但也没有完全工作。
public class Student {
private String name;
private List scores = new LinkedList<>();
public Student(String name)
{
this.name = name;
}
public void addGrade(int score)
{
scores.add(score);
}
public class Roster {
String name;
int score;
Student stu;
//Adds a grade to the end of a list of grades for the named student.
//Should work even if no student with this name has ever been seen before.
public void addGrade(String name, int score) {
Student temp = new Student(name);
stu.addGrade(score);
}
//Gets the specified grade from the named student's scores.
public int getGrade(String name, int index) {
int a = stu.getScore(index);
return a;
}
//Gets the average for the named student.
public double getAverage(String name) {
return stu.getAverage();
}
}
现在,让我们开始 “工作” 的定义。代码的工作原理是什么?什么部分特别是造成你的麻烦? – Makoto
你可能想在'Roster'中(或者是一个人的类:p)想要一个'Student'的List。请注意,使用学生姓名作为键和学生作为价值的“地图”在这里可能非常方便(更容易检查现有学生)。 –
你可能想要一个'Map分数而不是链接列表(将课程映射到分数)。 –
alfasin