java - 获取二维数组中正方形的平均值
问题描述
我有一个像这样的二维数组:
然后,用户输入一个奇数值(长度)以及坐标以进行平均计算,例如:
其中长度值减半并从坐标中添加/减去以形成一个正方形以计算该值平方的平均值
这是我的循环,但它没有正确计算平均值
int counter = 0;
double sum = 0;
for (int x = x1; x < x2; x++) {
for (int y = y1; y < y2; y++) {
sum = sum + (array[x][y]);
counter++;
}
}
average = sum / counter;
对不起,糟糕的图表
当我使用这个数组运行循环并且提供的输出值是 3.5 时,它本来应该是 3.2
解决方案
我认为你的问题与你的界限有关。不要忘记如果超过维度的长度,这将抛出 IndexOutOfBoundsException。
// x < x2 must to be x <= x2
for (int x = x1; x <= x2; x++) {
// y < y2 must to be y <= x2
for (int y = y1; y <= y2; y++) {
sum = sum + (array[x][y]);
counter++;
}
}
推荐阅读
- reactjs - react中的输入是如何处理的?
- python - 绘制五维自变量的边界决策
- c# - LinearGradientBrush 实验初始化问题
- python - Docker Compose Up 时数据库服务连接错误
- javascript - 一个变量被声明但没有在节点中定义是什么意思?
- amazon-web-services - CloudWatch 事件未触发 Lambda 函数
- angular - angular - 如何访问在 Angular 库的 component.ts 中声明的函数?
- python - 将大型文本文件并行读入 SQLite DB
- c# - 实时游戏的网格寻路
- python - 空解析器 tika python