【发布时间】:2021-05-28 21:10:26
【问题描述】:
如何从给定数组中取出奇数和偶数,然后将它们存储在另一个数组中?流程是:奇数到odd[]数组,偶数到even[]数组??
这是我的代码,我不确定这是否正确,因为它有点存储和打印零和偶数的混合,不存在奇数.....
int[] num = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
int[] odd = new int[10];
int[] even = new int[10];
for (int i = 0; i < num.length; i++) { // For odd numbers
if (num[i] % 2 != 0) {
num[i] = odd[i];
}
System.out.println(num[i] + " ");
}
for (int j = 0; j < num.length; j++) { // For even numbers
if (num[j] % 2 == 0) {
num[j] = even[j];
}
System.out.println(num[j] + " ");
}
【问题讨论】:
-
为奇数和偶数元素创建一个新的计数器变量,从零开始将其分配给新数组中的该索引,并在您为这些计数器分配奇数或偶数时始终递增
-
您应该更改 num 还是只从 num 获取数字?
-
@depperm,我会从 num 中获取数字
-
您的数组元素分配方式错误。您希望将找到的偶数/奇数存储在
odd和even数组中,而不是修改原始num数组。所以应该是odd[i] = num[i]; -
做两个索引变量intoddIndice = 0 int evenIndice = 0。然后如果它是偶数(根据你的情况检查)做
even[evenIndice] = num[i]; evenIndice ++;