计算java数组中偶数和奇数的数量

时间:2017-06-04 07:37:09

标签: java arrays

我有一个读取整数列表的程序,然后显示偶数和奇数的数量。我们假设输入以0结尾。这是程序的示例运行。

输入数字:1 2 3 4 5 6 7 8 9 0

奇数:5偶:4

然而,我的结果是 奇数:5和偶数:5。

问题是0被算作偶数。这是我的代码

public class Q75 {
    public static void main(String[] args){
        java.util.Scanner input = new java.util.Scanner (System.in);
        double [] numbers = new double[10];
        System.out.print("Enter numbers: ");
        for(int i = 0;i<numbers.length;i++){
            numbers[i] = input.nextDouble();
        }

        int Evens = 0;
        int Odd = 0;

        for(int i = 0;i<numbers.length;i++){
            if(numbers[i]%2 == 0){
                Evens++;
            }else{
                Odd++;
            }
        }
        System.out.println("The number of odd numbers: " + Odd);
        System.out.println("The number of even numbers: " + Evens);
    }

}

2 个答案:

答案 0 :(得分:1)

有两个选项

A)在if语句中添加另一个分支,即

if(number[i] > 0) {
   if(number[i] % 2 >0)
      Odd++;
   else 
      Evens++;
}

注意:将else分支更改为else if(number[i] >0),您可以不使用外部if条件。

B)由于数字列表以0结尾,你可以将它作为你的for循环中的一个条件,即

for(int i =0; i < numbers.length && numbers[i] > 0 ; i++)

另外,作为经验法则,java中的变量名称以小写字母开头

答案 1 :(得分:0)

请勿检查最后一个元素:使用i < numbers.length - 1

for(int i = 0;i < numbers.length - 1; i++) {
        //
}