我正在从数组中分离奇数和偶数。 我的代码是:
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。
答案 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 );
}
}