java数组中奇偶数的计数

java数组中奇偶数的计数,java,arrays,Java,Arrays,我有一个程序,读取整数列表,然后显示偶数和奇数的数目。我们假设输入以0结尾。下面是程序的运行示例 输入号码:1234567890 奇数:5偶数:4 然而,我的结果是 奇数:5,偶数:5 问题是0被算作偶数。这是我的密码 public class Q75 { public static void main(String[] args){ java.util.Scanner input = new java.util.Scanner (System.in);

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

输入号码:1234567890

奇数: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);
    }

}
公共类Q75{
公共静态void main(字符串[]args){
java.util.Scanner输入=新的java.util.Scanner(System.in);
double[]数字=新的double[10];
系统输出打印(“输入数字:”);
对于(int i=0;i有两种选择

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++)
for(int i=0;i0;i++)

java中的变量名通常以小写字母开头,但不要检查最后一个元素:Use
i

for(int i = 0;i < numbers.length - 1; i++) {
        //
}
for(int i=0;i
javascript=/=java我应该如何修复?修复什么?虽然我不喜欢使用
Scanner\nextDouble()
而宁愿使用
Scanner\nextLine(),但您从未告诉我们问题出在哪里
。这个问题还不够清楚。另外,请删除标记
javascript
,因为它与java无关。我假设您的问题是输入循环。我建议您添加“if”,检查数字是否为0。这要求您知道0在最后一个元素中(而不是其他元素中)我建议你至少检查一下假设。是的。程序是这样说的。它仍然会考虑数组中的任何0个。