首页 > 解决方案 > 对数组进行子集化,然后在 Java 中从这些组中创建平均值列表

问题描述

我有一项正在努力解决的任务。只是作为序言:我不允许制作二维数组,也不应该制作嵌套循环。即使在我们的教科书中,我也无法找到不涉及其中一个或另一个的帮助。我必须创建一个方法来获取 175 个分数的列表,从数组中找到 7 个分数组的平均值,然后将找到的平均值存储在一个新数组中。这是我在方法中已经拥有的:

lines 是记录了多少总分数,pointData是存储分数本身的数组。

double[] averages = new double[lines];

int total=0;
double average=0;
for (int index = 0; index < pointData.Length; index++)
{
    total += pointData[index];
    double average =  total/7
}

标签: javaarrays

解决方案


为此,您可以使用%运算符来确定是否已将七个分数添加到索引中。

int i = 0;
for (int index = 0; index < pointData.length; index++)
{
      //Add the data from pointData to the index
      averages[i] += pointData[index];
      //if seven scores have been added
      if(index % 7 == 6) {
         //divide by seven to get average
         averages[i] = averages[i]/7.0;
         i++;
      }
}

一般逻辑是在给定索引中添加七个分数。检查是否添加了七个分数。如果是这样,将索引中的总和除以 7 以获得平均值,然后递增i以移动到下一个索引averages


推荐阅读