簡體   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