gpt4 book ai didi

java - 如何使用HashMap计算学生的平均成绩?

转载 作者:行者123 更新时间:2023-12-01 07:07:04 25 4
gpt4 key购买 nike

在 Student 类中,我需要添加一个方法将新类(class)放入学生的类(class)集合中,以及一个计算并返回学生平均成绩的方法。当我尝试计算学生的平均成绩时,我不断得到“NaN”结果。将不胜感激任何帮助。谢谢。

下面是我的 Student 类的源代码。

import java.util.HashMap;
import java.util.Set;


public class Student extends Member
{
// instance variables of class Student
private HashMap<String, Double> courses;

public Student()
{
super();
courses = new HashMap<String, Double>();
}

/**
* Constructor
* @param firstName
* @param lastName
* @param emailAddress
* @param bcitId
*/
public Student(String firstName, String lastName, String emailAddress, String bcitId)
{
super(firstName, lastName, emailAddress, bcitId);
courses = new HashMap<String, Double>();
}

public void addCourse(String course, Double grade)
{
if(!courses.isEmpty()) {
courses.put(course, grade);
}
}

public Double getAverageGrade()
{
Double averageGrade = 0.0;
int counter = 0;
if(!courses.isEmpty()){
Set<String> course = courses.keySet();
for(String grade : course){
averageGrade += courses.get(grade);
counter++;
}
}

return (averageGrade /= counter);
}
}

最佳答案

你的方法

public void addCourse(String course, Double grade)
{
if(!courses.isEmpty()) {
courses.put(course, grade);
}
}

我觉得很有趣。如果 map 中至少已有一门类(class),您是否打算仅添加一门类(class)?这样的话,第一条路线将如何进入 map 呢?

我认为您尝试检查 map 是否存在,但这样做会有所不同,即:

if (courses == null){
...
}

关于除法问题请看Saposhiente的另一个回答。我只会重复一遍...

关于java - 如何使用HashMap计算学生的平均成绩?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21666273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com