java - 对数组进行子集化,然后在 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
}
解决方案
为此,您可以使用%
运算符来确定是否已将七个分数添加到索引中。
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
推荐阅读
- hashicorp-vault - Vault 的密钥撤销是否会影响被撤销密钥在使用它的服务中的有效性?
- javafx-8 - 如何使用 Google Play 开发者控制台轻松测试计费应用程序?
- php - PHP 简短的 if 语句,带有 continue 关键字并省略 else 部分
- python - 如何根据附加文档的标题自动填写表单域?
- jstl - 如何使用 JSTL 和 EL 获取动态表单字段名称的值
- python - Python中的NoneType-Error与yield
- bash - bash 脚本:获取空闲时间并进行比较
- google-maps - 是否可以仅使用 Google 的地理编码服务?
- javascript - Object.keys().forEach() 不起作用
- vim - 如何在终端中创建虚线以进行缩进