最小元素数组高于平均值

时间:2017-01-05 23:26:53

标签: java arrays

我有一个二维数组,我计算元素的平均值。我正在寻找阵列中最小的数字,高于计算的平均值

int tmp, tmp1 = 0;
    for (int i = 0; i < array.length; i++) {
        for (int j = 0; j < array.length; j++) {
            if (averageElements < array[i][j]) {
                tmp = array[i][j];
                if (tmp > tmp1) {
                    tmp1 = tmp;
                }
            }
        }
    }
 System.out.println("Smallest element array higher than average " + tmp1);

例如:

1 1 2 1

1 1 1 5

1 1 1 9

1 1 3 1

平均要素2.16

高于平均值:3,5,9

数字中最小的数字高于平均值 - &gt; 3

1 个答案:

答案 0 :(得分:1)

if (averageElements > array[i][j])表示您只会查看 less 的值,而不是平均值,与您想要的完全相反。

tmp1 = 0if (array[i][j] > tmp1)表示您正在寻找高于零的最大值,也与您想要的完全相反。如果所有的数值都是负数,它就不会起作用。

相反,试试这个:

int minValue = Integer.MAX_VALUE;
for (int i = 0; i < array.length; i++) {
    for (int j = 0; j < array.length; j++) {
        int value = array[i][j];
        if (averageElements < value && value < minValue) {
            minValue = value;
        }
    }
}
System.out.println("Smallest element array higher than average " + minValue);