我在做什么:用零替换数组中的奇数(值)。
问题:执行以下代码时,它仅替换正号,忽略否定。
代码:
public static int[] nullOddValues(int[] array) {
int[] resultArray = new int[array.length];
for (int i = 0; i < array.length; i++) {
if (array[i] % 2 != 0) {
resultArray[i] = 0;
} else {
resultArray[i] = array[i];
}
}
return resultArray;
}
答案 0 :(得分:3)
当你(可能)想要测试i
array[i]
的奇怪性
if (array[i] % 2 != 0) {
答案 1 :(得分:0)
在X上使用模数返回[0-X)
正X(X> 0) - >它将返回0 +
负X(X <0) - >它将返回0 -
对于您的问题,我建议使用位运算符
if((i & 1) == 0)
对于偶数(正数和负数),这将返回true
,因为它正在检查数字的最后一位。