public static int[] replaceEvens(int[] a) {
int e[] = new int[a.length];
// TODO Insert code here
for (int i = 0; i < a.length; i++){
if( e[0]%2 == 0){
i = 0;
}
}
return e;
}
我相信这段代码是正确的,但我对数组中的所有数字都是0 数组是{5,15,24,35,2,7,8}
答案 0 :(得分:2)
我相信你的代码不正确 首先,你不会得到一个无限循环是非常令人惊讶的。在for-loop中没有弄乱循环变量。如果您想这样做,请使用while循环 第二点是你的if语句包含e,它直到那个未初始化的点,因此只包含变量= 0 第三点:你总是检查相同的值e [0],所以你只检查每次迭代中数组e的第一个值
我希望现在能帮助你自己纠正代码...... (另请参阅beresfordt的回答)
答案 1 :(得分:1)
有几个问题;
将你想写的for循环放在一起可能是:
int e[] = a.clone();
for (int i = 0; i < a.length; i++){
if( e[i]%2 == 0){
e[i] = 0;
}
}