在二维数组中求平方的平均数

问题描述 投票:0回答:1

我有一个这样的二维数组。

enter image description here

然后用户输入一个奇数值(长度)以及坐标来计算平均数,例如:

enter image description here

将长度值减半,然后与坐标相加减,形成一个正方形,计算该正方形的平均值。

这是我的循环,但它不能正确计算平均数。

        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。

java arrays loops multidimensional-array average
1个回答
0
投票

我认为你的问题与你的边界有关。不要忘了,如果超过了长度的尺寸,这将会抛出IndexOutOfBoundsException。

 for(int x = x1; x <= x2; x++){ // x < x2 must to be x <= x2
        for(int y = y1; y <= y2; y++){ y < y2 must to be y <= x2
            sum = sum + (array[x][y]);
             counter++;
        }
    } 
© www.soinside.com 2019 - 2024. All rights reserved.