当我遇到这个问题时,我正在CodingBat上练习,我无法理解。给定一个正整数数组,我必须创建一个长度为“count”的数组,其中包含原始数组中的第一个偶数。原始数组至少包含“count”偶数。我的代码在下面,虽然我知道第一个if语句下面的所有内容都不起作用,“counter”变量基本没用。
public int[] copyEvens(int[] nums, int count) {
int counter = 0;
int[] countArr = new int [count];
for (int i = 0; i < nums.length; i++) {
if (nums[i] % 2 == 0) {
//what to put here?
}
}
return countArr;
}
任何帮助都会非常感激。
答案 0 :(得分:2)
以下内容不正确:
if (i == count) {
这将检查输入数组中的位置,而不是输出数组中的位置,而不是count
。
答案 1 :(得分:1)
public int[] copyEvens(int[] nums, int count) {
int counter = 0;
int[] countArr = new int [count];
for (int i = 0; i < nums.length && counter < count; i++)
if ((nums[i] % 2) == 0)
countArr[counter++] = nums[i];
return countArr;
}
学校的东西......对吧?
答案 2 :(得分:0)
我认为你应该比较一下 counter ...从0开始..所以你需要加1,因为我很确定count不包括0作为索引。
因此,
if((counter+1) ==count)
应该替换原来的。