Java 计算平均值?
我对这个问题有疑问: 给出测试结果列表(每个都有测试日期、学生ID和学生分数);返回每个学生的最终分数。学生的最终分数是他/她5个最高考试分数的平均值。你可以假设每个学生至少有5个考试分数 现在,事情是这样的。我不想要答案 我尝试过散列,但散列可以提供带有地址的密钥,所以它对我不起作用 我曾想过使用数组列表和迭代思想来计算平均值并返回前五名分数,但是如何使用studentID分配数字呢 假设我希望输出为:Mike,15岁。这不是问题所要求的吗? 获取学生ID和平均人数。Java 计算平均值?,java,algorithm,data-structures,Java,Algorithm,Data Structures,我对这个问题有疑问: 给出测试结果列表(每个都有测试日期、学生ID和学生分数);返回每个学生的最终分数。学生的最终分数是他/她5个最高考试分数的平均值。你可以假设每个学生至少有5个考试分数 现在,事情是这样的。我不想要答案 我尝试过散列,但散列可以提供带有地址的密钥,所以它对我不起作用 我曾想过使用数组列表和迭代思想来计算平均值并返回前五名分数,但是如何使用studentID分配数字呢 假设我希望输出为:Mike,15岁。这不是问题所要求的吗? 获取学生ID和平均人数。 请帮我找出一些线索,我正
请帮我找出一些线索,我正在学习 只需按学生ID(作为主要排序键)和递减分数(次要排序键)对测试结果进行排序,然后按如下方式进行收集(伪代码): 因为数据是经过排序的,所以您知道给定学生的所有分数都在一起,并且前五名得分最高。因此,上面的代码将允许您完成所有工作
记住,这取决于你的“每个学生至少有五个成绩”规则。否则,您将不得不更改平均计算代码,并可能对最后一个学员进行一些后期工作循环。使用面向对象的原则。这里有一些提示。 创建一个测试类来表示每个测试
class Test
{
Date date;
Student s; //store instance of student- has a relationship to Student
double[] scores; //store test scores
double finalscore; //final score
Test() {
//Initialize scores array and assign default values (0)
}
}
创建一个学生类来代表每个学生
class Student
{
String name;
int id;
}
创建测试的数组列表
List<Test> tests = new ArrayList<Test>();
List tests=new ArrayList();
现在只需循环测试并找到要存储在finalscore中的平均值。您可以通过将所有
Test
属性移动到Student
类中并删除不相关的数据,如Date
和finalscore
来增强设计。
List<Test> tests = new ArrayList<Test>();