我正在尝试比较一个整数数组的元素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个元素长。非常感谢
答案 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]
正确?