如何比较java中数组的特定元素

时间:2013-11-06 22:10:09

标签: java arrays

我正在尝试比较一个整数数组的元素8个元素long(array [])将元素加起来为2,然后除以2为avg,例如array [0] + array [1] / 2并将结果分配给一个新的数组4个元素长。具体来说,我想以2的方式比较它们,看看是否两个都小于40,如果其中任何一个小于40,我将它们都加起来平均值除以2,并为数组分配最小值(40,array [i])..但如果它们都在40以上,我仍然添加两个元素并除以2但是分配数组元素[i ]我得到的数字,没有打扰最小计算

到目前为止我所拥有的是什么

   for (int i = 0; i < array.length ; i++)
    {
        if (array[i] < 40 )
        {
            array2[j] = Math.min(35, array2[j]);
        }
    }

我认为if语句是正确的,但布尔参数远非如此。 Array [] =原始的8个元素数组... array2 [] =计算和平均的数组4个元素长。非常感谢

2 个答案:

答案 0 :(得分:1)

这是什么意思?希望我理解这个问题。

for (int j = 0; j < array2.length; j++)
{
    double avg = (array[2 * j] + array[2 * j + 1]) / 2;
    if (array[2 * j] < 40 || array[2 * j + 1] < 40)
    {
        array2[j] = Math.min(avg, 40);
    } else {
        array2[j] = avg;
    }
}

答案 1 :(得分:0)

我认为这会抓住你描述的逻辑(?)

int[] test = {
    22,44,
    52,36,
    35,41,
    63,24
};
double[] newarr = new int[test.length/2];

for (int i = 0; i < newarr.length; i++){
    newarr[i] = (test[i*2] + test[i*2+1]) / 2;
}

给出:

[33.0, 44.0, 38.0, 43.5]

正确?