获取二维数组内的平方平均值
Getting average of square inside a 2D array
我有一个这样的二维数组:
然后用户输入一个奇数值(长度)以及用于平均计算的坐标,例如:
其中长度值减半并added/subtracted从坐标形成一个正方形来计算该正方形值的平均值
这是我的循环,但它没有正确计算平均值
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++;
}
}
我有一个这样的二维数组:
然后用户输入一个奇数值(长度)以及用于平均计算的坐标,例如:
其中长度值减半并added/subtracted从坐标形成一个正方形来计算该正方形值的平均值
这是我的循环,但它没有正确计算平均值
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++;
}
}