当前位置: 首页 > 知识库问答 >
问题:

你知道如何计算OOP中的平均值吗?

祁烈
2023-03-14

我知道如何在过程编程中计算平均值,除了在oop中我不知道如何做这个:

我有2个对象,我想计算一下平均年龄:

class Main {
  public static void main(String[] args) {
    List<Player> players = new ArrayList<Player>();

    players.add(new Player("Eric", 31, true));
    players.add(new Player("Juliette", 28, false));

在我的班上,我有这个

public class Player {

  public String name;
  public int age; 
  public boolean sex;

  public Player(String name, int age, boolean sex){
    this.name = name;
    this.age = age;
    this.sex = sex;
  }

在我的CalculateAverage()方法中,我看不出如何做这个?我的循环有问题。

public static void CalculateAverage(List <Player> players){
    int sumAge =  0;

    for(Player player : players){
            
    }
  } 

共有1个答案

仉刚洁
2023-03-14

方法一:

在循环中,求和所有年龄,然后除以年龄总数

 List<Player> players = new ArrayList<Player>();

    players.add(new Player("Eric", 31, true));
    players.add(new Player("Juliette", 28, false));
    double sum = 0;
    for(Player player : players){
        sum = sum +player.age;
    }
    double average = sum/players.size();
    System.out.println(average);
   

方法二:

利用Java 8条溪流。将列表转换为流(players.stream()),然后将您的年龄映射为double(MapToDouble()),然后调用average

 List<Player> players = new ArrayList<Player>();
    players.add(new Player("Eric", 31, true));
    players.add(new Player("Juliette", 28, false));
    final OptionalDouble optionalAverage = players.stream().mapToInt(Player::getAge).average();
    System.out.println(optionalAverage);
 类似资料:
  • 问题内容: 任何人都知道如何计算这些列之一的平均值(在Linux上)? 例如:mean(第2栏) 问题答案: Awk: 读为: 对于每一行,将第2列添加到变量“总计”中。 在文件末尾,打印“总计”除以记录数。

  • 我试图从购物车(ArrayList)中计算平均值。平均值是指所有产品的总和除以它的数量?,如果我错了请纠正我,也许这就是为什么我的逻辑不太好用。 我试图做一个循环来计算所有乘积的总和,然后除以它的数量。

  • 我试图做以下java分配和每件事似乎工作正常,除了当我把一个数字 谢谢 赋值:创建一个询问考试结果并计算成绩平均值的程序。成绩是4到10之间的浮点数。程序要求成绩,直到键入负数。如果用户给出的分数不是4到10之间的数字,则文本“无效成绩!”将在屏幕上打印,程序要求另一个分数。最后,程序在屏幕上打印输入的成绩数及其平均值,如示例打印所示。如果没有输入成绩,通知“您没有输入任何成绩。”是屏幕上唯一打印

  • 问题内容: 编辑:我已经写了平均的代码,但我不知道如何使它也使用从我的args.length而不是数组的整数 我需要编写一个Java程序,该程序可以计算:1.读入的整数数2.平均值-不必是整数! 注意!我不想从数组中计算平均值,但是要在args中计算整数。 目前我已经写了这个: 谁能指导我正确的方向?还是举个例子,以书面形式指导我塑造这段代码? 提前致谢 问题答案: 只需对您的代码进行一些小的修改

  • 问题内容: 假设我有一个清单: 我想创建一个计算n天移动平均值的函数。所以如果是5,我希望我的代码计算第一个1-5,将其相加并找到平均值,即3.0,然后继续计算2-6,计算平均值,即4.0,然后3- 7、4-8、5-9、6-10。 我不想计算前n-1天,因此从第n天开始,它将计算前几天。 这似乎可以打印出我想要的内容: 但是,我不知道如何计算这些列表中的数字。有任何想法吗? 问题答案: 旧版本的P

  • 问题内容: 已关闭 。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗? 添加详细信息并通过编辑此帖子来澄清问题。 11个月前关闭。 改善这个问题 我有一个清单: 我想要另一个具有三个值均值的列表,因此新列表为: 新列表中只有6个值,因为第一个元素中只有18个元素。 我正在寻找一种精巧的方法来完成此操作,并为大量列表提供最少的步骤。 问题答案: 您可以在3个间隔中迭代使用for循环