将每个奇数与每个偶数进行比较

时间:2014-06-07 05:11:24

标签: java

我正在从数组中分离奇数和偶数。 我的代码是:

public class EvenAndOdd {

public static void main (String[] args)
{

    int countEven = 0; 
    int countOdd = 0; 
    int[] myArray = {1, 2, 3, 4, 5, 6, 7}; 

    for(int i : myArray) { 
    if(i%2 == 0) { 
      countEven++; 
      System.out.println("EVEN numbers: " + i); 
    } 
    else { 
      countOdd++; 
      System.out.println("ODD numbers: " + i); 
    } 
    } 
    System.out.println("Total Even Number: " + countEven); 
    System.out.println("Total Odd Number " + countOdd); 
      }
}

从上面的代码中获取正确的结果。但我想现在比较每个奇数和每个偶数,如果任何偶数大于奇数然后返回o并且没有奇数大于偶数返回1。

2 个答案:

答案 0 :(得分:0)

代码如下

for(int i=0;i<myArray.length;i+=2)
{
  j=i+1; //odd number

//if even number is greater
  if(myArray[i]>=myArray[j])
   System.out.println(1);
  else //if odd is greater
  System.out.println(0);
}

答案 1 :(得分:0)

我不明白&#34;如果任何偶数大于奇数则返回0&#34;和&#34;如果没有大于偶数的奇数返回1&#34;因为有一个大于2,比如2,但是有一个大于3的4,或1.这就意味着两种情况都匹配,因此你的逻辑存在缺陷,或者问题的措辞不当。无论如何,您可能会发现这个有用的

import java.util.*;
import java.lang.*;
import java.io.*;

class EvenAndOdd{
    public static void main(String[] args){
        int countEven = 0; 
        int countOdd = 0; 
        int result = 0;
        int[] myArray = {1, 2, 3, 4, 5, 6, 7};
        List<Integer> evens = new ArrayList<Integer>();
        List<Integer> odds = new ArrayList<Integer>();
        for(int i : myArray){
            if(i%2 == 0) { 
                countEven++; 
                System.out.println("EVEN numbers: " + i); 
                evens.add(i);
            } 
            else { 
                countOdd++; 
                System.out.println("ODD numbers: " + i);
                odds.add(i);
            } 
        }

        for(int i : evens){
            for(int j : odds){
                if(i > j)
                    result = 1;
                else
                    result = 0;
            }
        }

        System.out.println("Result: " + result );
    }

}