首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >if-语句和for-循环中的ArrayList问题

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

Stack Overflow用户
提问于 2017-02-28 16:02:22
回答 2查看 132关注 0票数 1

我有一个关于for循环和ArrayList的问题.我有一个带有字符串和整数的HashMap,其中字符串表示一个类,而Integer表示级别。他们--我在ArrayList里收集了一批学生。所以我要做的是找出ArrayList学生的平均成绩。这是该类的代码:

代码语言:javascript
复制
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的一个对象,并将它放在ArrayList中。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-28 16:46:14

如果您想返回所有学生的平均成绩,您可以这样做:

代码语言:javascript
复制
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;
    } 
}

请注意,我将return valuesumgjennomsnitt更改为double,因为平均值也可能是一个非整数值。答案还假设b.finnGjennomsnitt()返回学生参加的所有班级的平均值,并返回此值。如果您只想返回所有学生在一个班级的平均水平,答案不会给你这个。请在你的问题中注明,如果这是问题的一部分,也包括finnGjennomsnitt()的代码。如果没有学生,答案中的方法将返回6.0作为平均值,如问题中的代码所示。也许应该重新考虑这一点,因为它使一群成绩为6.0分的特殊学生的情况等同于没有学生的情况。也许你能返回-当没有学生的时候?

票数 0
EN

Stack Overflow用户

发布于 2017-02-28 16:05:36

你所做的是递归地以一个例外结束.

你必须这样做:

代码语言:javascript
复制
for(Bachelorstudent b : bs){
     sum += b.getSomething();
}

并将getSomething定义为类getSomething中字段的getter。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42513460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档