嘿。这里是 Java 初学者 :) 好吧,我在使用这个程序时遇到了一些问题:http: //pastie.org/private/sfqqnqwxtpgtuhswpqepw
1) 我希望我的程序将“输入”数组拆分为oddList、evenList 和negativeList 数组集。但是,在拆分时,它会将一堆元素添加为“0”。
2) 0 只需要添加到oddList。
3) 我不知道如何将 averageAndGreater() 的平均值添加到数组的末尾。
谢谢 :)
嘿。这里是 Java 初学者 :) 好吧,我在使用这个程序时遇到了一些问题:http: //pastie.org/private/sfqqnqwxtpgtuhswpqepw
1) 我希望我的程序将“输入”数组拆分为oddList、evenList 和negativeList 数组集。但是,在拆分时,它会将一堆元素添加为“0”。
2) 0 只需要添加到oddList。
3) 我不知道如何将 averageAndGreater() 的平均值添加到数组的末尾。
谢谢 :)
1)你的数组比它的内容长,因为数组是固定长度的,那些额外的点必须包含一些东西,即 0。
2) 如果可能,您应该将 0 添加到偶数列表中,因为(x%2==0)
对于 0 的均匀性测试返回 true。
3)你应该创建一个比你真正需要int[] oddList = new int[a.length+1];
和使用的更长的数组array[array.length-1] = averageAndGreater(input2);
获得正确大小的数组的最简单方法可能是使用 Java 中内置的 ArrayList 类。当您知道需要多长时间时,您也可以在方法结束时重新制作数组。如下所示:
int array = new int[total];
for (int i=0; i<total; ++i) {
array[i] = oddList[i];
}
return array;
编辑:您的偶数和奇数列表将包含负数,不确定这是否是故意的,但拒绝将它们((a[i] % 2 == 0) && a[i] >= 0)
用作您的偶数测试。
这是因为要返回的数组的长度被初始化为原始数组的长度为:
int[] oddList = new int[a.length];