gpt4 book ai didi

java - if 语句和 for 循环中 ArrayList 的问题

转载 作者:太空宇宙 更新时间:2023-11-04 11:43:58 25 4
gpt4 key购买 nike

我有一个关于 for 循环和 ArrayList 的问题。我有一个包含字符串和整数的 HashMap,其中字符串代表类(class),整数代表年级。他们有一个 ArrayList 中的学生集合。所以我想做的是找到 ArrayList 中学生的平均成绩。这是该类的代码:

import java.util.ArrayList;

public class BachelorStudenter {

private ArrayList<BachelorStudent> bs;

public Bachelorstudenter() {
bs = new ArrayList<>();
}

public int bsGjennomsnitt() {
int sum = 0;
int gjennomsnitt = 0;

if(!bs.isEmpty()){
for(BachelorStudent b : bs.values){
sum += b.finnGjennomsnitt();
}
return gjennomsnitt;
}else {
return 6;
}
}
}

我知道 if 语句中的 for 循环中的 bs.values 是错误的,但我尝试用谷歌搜索我应该使用的内容,但 .contains 或 .size 都不起作用。

哦,我还有另一个类BachelorStudent,我可以在其中创建BachelorStudent的对象,并将其放入BachelorStudent的ArrayList中。

有人知道我需要在那里放什么吗?

最佳答案

如果您想要返回所有学生的平均成绩,您可以执行以下操作:

import java.util.ArrayList;
public class Bachelorstudenter {

private ArrayList<Bachelorstudent> bs;

public Bachelorstudenter() {
bs = new ArrayList<>();
}

public double bsGjennomsnitt() {
double sum = 0.0;
double gjennomsnitt = 6.0;

if(!bs.isEmpty()){
for(Bachelorstudent b : bs){
sum += b.finnGjennomsnitt();
}
gjennomsnitt = sum/bs.size()
}
return gjennomsnitt;
}
}

请注意,我将返回值sumgjennomsnitt更改为double,因为平均值也可能是非整数值。答案还假设 b.finnGjennomsnitt() 返回学生参加的所有类(class)的平均值并返回该值。如果您只想返回一个类(class)中所有学生的平均值,则答案不会给您这个。请在您的问题中注明,如果这是问题的一部分,还请包含 finnGjennomsnitt() 的代码。如果没有学生,答案中的方法将返回 6.0 作为平均值,如问题中的代码所示。也许应该重新考虑这一点,因为这使得成绩直达 6.0 的特殊学生群体的情况与没有学生的情况相同。也许当没有学生时你可以返回-1?

关于java - if 语句和 for 循环中 ArrayList 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42513460/

25 4 0