繁体   English   中英

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

[英]How to compare specific elements of an array in java

我正在尝试比较长度为8的整数数组(array [])的元素,将元素分成2组,然后将2除以avg,例如array [0] + array [1] / 2和将结果分配给一个长度为4个元素的新数组。.具体来说,我想将它们分成2组进行比较,以查看/或两者均小于40,如果其中一个或小于40,则将它们相加并除以2作为平均值,并为(40,array [i])中的最小值分配数组。但是,如果它们均大于40,我仍将两个元素相加并除以2,但将数组element [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个元素长数组。 非常感谢

你是这个意思吗? 希望我理解这个问题。

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;
    }
}

我认为这可以捕捉到您所描述的逻辑(?)

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]

正确?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM