Java 使用递归计算整数数组中的偶数
我想找出整数数组中偶数的个数。 到目前为止,我写了这段代码Java 使用递归计算整数数组中的偶数,java,arrays,Java,Arrays,我想找出整数数组中偶数的个数。 到目前为止,我写了这段代码 public static int EvenNum(int[] arr) { int index = 0; if (arr[index] % 2 == 1) { return 0; } else if (arr[index] % 2 == 0) { return 1; } index++; return index + EvenNum(arr); } 请帮
public static int EvenNum(int[] arr) {
int index = 0;
if (arr[index] % 2 == 1) {
return 0;
} else if (arr[index] % 2 == 0) {
return 1;
}
index++;
return index + EvenNum(arr);
}
请帮助我运行此代码使用your EvenNum()方法中的循环:
int evenNoCount=0;
对于(int i=0;i,可以使用索引参数来知道要检查的数组中的位置
public static int EvenNum(int[] arr, int index)
{
if (index == arr.length) return 0; // Stop recursion
//return (arr[index] % 2 == 0 ? 1 : 0) + EvenNum(arr, index + 1);
// or....
int result;
if ((arr[index] % 2) == 0) { // Is even
result = 1;
}
else { // Is odd
result = 0;
}
return result + EvenNum(arr, index + 1);
}
public static void main(final String... args)
{
// Start with index = 0
System.out.println(EvenNum(new int[]{1,2,3,4,5}, 0));
}
帮助我运行意味着什么?给你一个编译器?你到底不明白什么?你用过调试器吗?请帮我运行这段代码
试试这个:)publicstaticvoidmain(String[]args){System.out.println(EvenNum(newint[]{1,2,3,4,5});}
你为什么需要递归?每次运行代码我都会得到“”(只有空格)@PshemoQuestion要求递归。如果你认为它更好,请给出一个理由,说明为什么至少要简化这个(arr[index]%2==0?1:0),因为我不懂编码,我不知道你所说的?1:0@Johnny是什么意思Mopp@user3469667更新了我的答案。阅读了解三元运算符的信息。你能解释或简化arr[索引]%2==0?1:0……….因为我不懂编码,我不懂什么?1:0的意思是@Johnny moppoh谢谢
public static int EvenNum(int[] arr, int index)
{
if (index == arr.length) return 0; // Stop recursion
//return (arr[index] % 2 == 0 ? 1 : 0) + EvenNum(arr, index + 1);
// or....
int result;
if ((arr[index] % 2) == 0) { // Is even
result = 1;
}
else { // Is odd
result = 0;
}
return result + EvenNum(arr, index + 1);
}
public static void main(final String... args)
{
// Start with index = 0
System.out.println(EvenNum(new int[]{1,2,3,4,5}, 0));
}