Java 如何检查其他元素是否为偶数

Java 如何检查其他元素是否为偶数,java,algorithm,Java,Algorithm,我的代码只适用于第一个索引,它只返回8true 例如,如果我将第一个索引(nums[0])更改为9,它将跳过3,并打印4 true 我如何使它检查其余的元素(即其他所有元素),从而使它适用于其他所有索引 public static boolean solution(int[] nums) { for(int i = 0; i < nums.length; i++) { if(i % 2 == 0 && nums[i] % 2 == 0) {

我的代码只适用于第一个索引,它只返回
8true

例如,如果我将第一个索引(
nums[0]
)更改为9,它将跳过
3
,并打印
4 true

我如何使它检查其余的元素(即其他所有元素),从而使它适用于其他所有索引

public static boolean solution(int[] nums) {
    for(int i = 0; i < nums.length; i++) {
        if(i % 2 == 0 && nums[i] % 2 == 0) {
            System.out.print(nums[i] + " ");
            return true;
        }
    }
    return false;
}

public static void main(String args[]) {
    int[] nums = {8,3,4,1,6,5,12,1};
    System.out.println(solution(nums));
}
公共静态布尔解决方案(int[]nums){
对于(int i=0;i
我想你要做的是检查所有的偶数索引,看看是否有偶数,你可以这样做:

public static boolean solution(int[] nums) {
   for(int i = 0; i < nums.length; i++) {
     if(i % 2 == 0 && nums[i] % 2 != 0) {
         System.out.print(nums[i] + " ");
         return false;
     }
   }
   return true;
}
公共静态布尔解决方案(int[]nums){
对于(int i=0;i
我想你要做的是检查所有的偶数索引,看看是否有偶数,你可以这样做:

public static boolean solution(int[] nums) {
   for(int i = 0; i < nums.length; i++) {
     if(i % 2 == 0 && nums[i] % 2 != 0) {
         System.out.print(nums[i] + " ");
         return false;
     }
   }
   return true;
}
公共静态布尔解决方案(int[]nums){
对于(int i=0;i
您的代码中有一个(逻辑)错误,还有一个可以改进的部分:

public static boolean solution(int[] nums) {
    for(int i = 0; i < nums.length; i++) {
        if(i % 2 == 0 && nums[i] % 2 == 0) {
            System.out.print(nums[i] + " ");
            return true;
        }
    }
    return false;
}
公共静态布尔解决方案(int[]nums){
对于(int i=0;i
在当前代码中,第一次有效测试返回true,这意味着不测试以下情况。更改代码,以便对所有代码进行测试,并且只有在遇到无效值时才在流期间返回

public static boolean solution(int[] nums) {
    for(int i = 0; i < nums.length; i++) {
        if(i % 2 == 0 && nums[i] % 2 != 0) {
            System.out.print(nums[i] + " ");
            return false;
        }
    }
    return true;
}
公共静态布尔解决方案(int[]nums){
对于(int i=0;i
您可以改进的第二件事是,不要在每次迭代中检查偶数索引。只需将i值增加2而不是1:

public static boolean solution(int[] nums) {
    for(int i = 0; i < nums.length; i+=2) {
        if( nums[i] % 2 != 0) {
            System.out.print(nums[i] + " ");
            return false;
        }
    }
    return true;
}
公共静态布尔解决方案(int[]nums){
对于(int i=0;i
您的代码中有一个(逻辑)错误,还有一个可以改进的部分:

public static boolean solution(int[] nums) {
    for(int i = 0; i < nums.length; i++) {
        if(i % 2 == 0 && nums[i] % 2 == 0) {
            System.out.print(nums[i] + " ");
            return true;
        }
    }
    return false;
}
公共静态布尔解决方案(int[]nums){
对于(int i=0;i
在当前代码中,第一次有效测试返回true,这意味着不测试以下情况。更改代码,以便对所有代码进行测试,并且只有在遇到无效值时才在流期间返回

public static boolean solution(int[] nums) {
    for(int i = 0; i < nums.length; i++) {
        if(i % 2 == 0 && nums[i] % 2 != 0) {
            System.out.print(nums[i] + " ");
            return false;
        }
    }
    return true;
}
公共静态布尔解决方案(int[]nums){
对于(int i=0;i
您可以改进的第二件事是,不要在每次迭代中检查偶数索引。只需将i值增加2而不是1:

public static boolean solution(int[] nums) {
    for(int i = 0; i < nums.length; i+=2) {
        if( nums[i] % 2 != 0) {
            System.out.print(nums[i] + " ");
            return false;
        }
    }
    return true;
}
公共静态布尔解决方案(int[]nums){
对于(int i=0;i
更改for循环中的增强。不要增加一个,每次迭代增加两个。另外:不要在for循环中返回true。之后才返回true。return false如果遇到一个值,使得所有这些值都不可能被忽略,那么您将停止检查所有元素,因为您在循环中遇到了
return
。尝试重新构造该结构。如果预期输出为
8 4 6 12 true
8 true 4 true 6 true 12 true
,请更改for循环中的增广。不要增加一个,每次迭代增加两个。另外:不要在for循环中返回true。之后才返回true。return false如果遇到一个值,使得所有这些值都不可能被忽略,那么您将停止检查所有元素,因为您在循环中遇到了
return
。尝试重新构造它。预期输出是
8 4 6 12 true
还是
8 true 4 true 6 true 12 true