java - 从对象数量中获取平均值

标签 java object arraylist

我正在尝试获取对象的平均分数,但想不出一个好方法。

我有 10 个对象,它们都有自己的关联分数。

我创建了 setter 和 getter 类,它将获得平均值,但我遇到的问题是我会创建类似的东西,这样即使我确实将对象的分数放入此方法中,持有者也会回到 0。

public double getAverage() {
    return average;
}

public void setAverage(double studentScore) {
    double holder = 0;

    average = holder + studentScore;
    holder = average;

    this.average = studentScore;
}

我还考虑过为每个分数创建 setter 和 getter 方法,但这会占用大量空间,我认为必须有更好的方法来做到这一点。

这是我在 main 方法中使用的代码片段

public static void main(String[] args) {
  final String STUDENT_INFO = "HW1_Students.txt";

  List<GradeInfo> list = new ArrayList<GradeInfo>();

  Scanner inputFile = null;
  GradeInfo person1 = new GradeInfo();
  GradeInfo person2 = new GradeInfo();
  GradeInfo person3 = new GradeInfo();
  GradeInfo person4 = new GradeInfo();
  GradeInfo person5 = new GradeInfo();
  GradeInfo person6 = new GradeInfo();
  GradeInfo person7 = new GradeInfo();
  GradeInfo person8 = new GradeInfo();
  GradeInfo person9 = new GradeInfo();
  GradeInfo person10 = new GradeInfo();

  list.add(person1);
  list.add(person2);
  list.add(person3);
  list.add(person4);
  list.add(person5);
  list.add(person6);
  list.add(person7);
  list.add(person8);
  list.add(person9);
  list.add(person10);


  try {
   inputFile = new Scanner(new File(STUDENT_INFO));
  }

  catch (FileNotFoundException ex) {
   System.out.println("\n *** Exception occured while opening "
     + ex.getMessage() + " ***");
   System.exit(-1);
  }

  readData(inputFile, STUDENT_INFO, person1, person2, person3, person4,
    person5, person6, person7, person8, person9, person10);

      for (int i = 0; i < list.size(); i++) {
          System.out.println(list.get(i));
      }
}

如有任何建议,我们将不胜感激,谢谢。

最佳答案

public void setAverage(ArrayList<GradeInfo> grades) {
double average = 0;
for(int i = 0; i < grades.size(); i++){
    average += grades.get(i);
}
average = average / grades.size();
this.average = average;
}

我希望这就是您想要做的......这个方法将获取您的Arraylist,并在您的有线“setter 和 getter 类”中设置正确的平均分数。

关于java - 从对象数量中获取平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32595344/

相关文章:

java - 将变量转换为超链接

Java 长任务 - 它停止写入文件了吗?

java - 使用Java在HBase中检索第N个限定词

java - 加快在java中的复制

python - 生成 MIDI 文件并播放它而不将其保存到磁盘

javascript - Instagram 克隆错误 : Objects are not valid as a React child

java - 无法向 ArrayList 添加元素

javascript - 将 json 转换为 javascript 对象

android - 从另一个 Fragment 填充 Listview

java - 从对象的 ArrayList 收集信息时的性能注意事项