如何检查数组中的所有元素是偶数还是奇数? 对于evens,我尝试用这个:
public boolean isEvens(int[] array) {
for (int i = 0; i<array.length;i++) {
if ( i % 2 == 0) {
return true;
}
else {
return false;
}
}
}
但是有错误...... Thnx提前!
答案 0 :(得分:7)
# to_dbl_list [1; 2; 3];;
- : int lista =
Some
{v = 1;
next =
Some
{v = 2; next = Some {v = 3; next = None; prev = <cycle>}; prev = <cycle>};
prev = None}
。例如:
true
检查所有是偶数还是全部都是奇数:
public boolean allEven(int[] array) {
for (int i = 0; i<array.length; i++) {
if (array[i] % 2 != 0) {
return false;
}
}
return true;
}
答案 1 :(得分:7)
从java 8开始,使用lambdas减少代码是一个好习惯:
偶数:
return Arrays.stream(array).allMatch( i -> i % 2 == 0);
for odd:
return Arrays.stream(array).allMatch( i -> i % 2 == 1);
答案 2 :(得分:0)
只检查一个奇数元素,如果不存在,那么所有元素都是偶数。
public boolean isEvens (int[] array){
for (int i = 0; i < array.length; i++) {
if (array[i] % 2 != 0) {
return false;
}
}
return true;
}
答案 3 :(得分:0)
您希望比较索引i
的数组元素,而不是i
本身。
检查应为if (array[i] % 2 == 0)
答案 4 :(得分:0)
使用下面的代码供参考使用a [i]
public static void isEvens() {
int [] array = {1,2,3,4,5};
for (int i = 0; i<array.length;i++) {
if (array[i] % 2 == 0) {
System.out.println("Even");
}
else {
System.out.println("Odd");
}
}
答案 5 :(得分:0)
我建议为此使用递归,因为使用递归,运行时间将少于使用循环的时间,而且这是一些代码行。 我为此编写了一个代码,但是使用c#,我将其发布在下面,它可能会对您有所帮助,因为java中的语法与c#的语法非常相似。
public static bool isAllEvens(int[] a, int index)
{
if (index == 0 && a[index] % 2 == 0) return true;
else
{
if (a[index] % 2 == 0)
return true && isAllEvens(a, index - 1);
return false;
}
}
要调用此函数,只需使用两个参数(数组和array.length-1是最后一个索引)来调用它。
以下是调用此函数的示例:
int[] a = new int[4];
a[0] = 8; a[1] = 4; a[2] = 8; a[3] = 8;
Console.WriteLine(isAllEvens(a, a.Length - 1));