【发布时间】:2021-12-17 04:09:00
【问题描述】:
我有 3 个数组,oddList、negativeList 和 evenList,它们从 masterArray 中获取数字并相应地对它们进行排序。当我去打印 3 个数组时,如果数组中的某些索引未填充,它会自动填充 0.0 我需要弄清楚如何摆脱这些零并仅使用数组的逻辑大小。
public static void negoddeven(double masterArray[]){
int z;
int size = 0;
int sum = 0;
double[] negativeList = new double[10], oddList = new double[10], evenList = new double[10];
for(z = 0; z < masterArray.length; z++){
for(int i = 0; i < size; i++){
if(masterArray[z]%2 != 0){
sum+= oddList[z];
if(size < oddList.length){
oddList[z] = masterArray[z];
size++;
}}
else if(masterArray[z] < 0){
if(size < negativeList.length){
negativeList[size] = masterArray[z];
size++;
}}
else if(masterArray[z]%2 == 0){
if(size < negativeList.length){
evenList[size] = masterArray[z];
size++;
}}
}
}
System.out.print("\nThe numbers in the odd list are: " + Arrays.toString(oddList));
System.out.print("\nThe numbers in the negative list are: " + Arrays.toString(negativeList));
System.out.print("\nThe numbers in the even list are: " + Arrays.toString(evenList) + "\n");
}
【问题讨论】:
-
"它被自动替换为 0.0" -- 没有被“替换”。数组中的位置不能为空,因此在首次创建数组时填充 0.0。如果您想要一个动态大小的容器,请考虑改用
ArrayList。