程序计数0为偶数

时间:2015-10-08 23:36:35

标签: java

我正在努力确保我的程序不算作偶数,并专门写道它必须符合这些条件。但它仍然是重要的!??!?

import java.util.Scanner;

     public class CountDigits
    {

     public static void main (String []Args)
    {
      Scanner keyboard = new Scanner (System.in);
      System.out.println("Enter a number:");
      long input = (keyboard.nextLong());
      String inputString = Long.toString(input);
      char [] inputChar = (inputString.toCharArray());



  int numOdds = 0;
  int numEvens = 0;
  int numZeros = 0;


  int i = 0;

  while (i<inputString.length())
  {

     if (inputChar[i]!=0&&inputChar[i]%2==0)
     { 
        numEvens++;

     }

2 个答案:

答案 0 :(得分:1)

您使用的是char[],而不是int[]char 0char '0'不同。如果你这样做,你的程序将会起作用:

if (inputChar[i]!='0' && inputChar[i]%2==0)

然而,如果您使用int[]而不是混淆。

答案 1 :(得分:0)

如果不尝试运行代码,我可以看到您正在执行inputChar[i]%2==0

inputChar[i]%2将返回inputChar[i]/2的余数,所以当inputChar [i]的值为0时,0除以2将等于0,因此剩余的为0。

如果你想将0计为奇数,你还需要检查0.

请注意,inputChar [i]是一个char而不是int,所以你需要检查inputChar [i]!='0'