Wie kann ich die Anzahl ungerade, ungerade, und Nullen in einem multiple-stellige Zahl in Java?

Im Prinzip brauche ich ein Programm schreiben, nimmt Benutzereingaben bis einschließlich 2^31 -1 in form einer Ganzzahl und gibt die Anzahl der gerade, ungerade und keine zahlen in der int. Zum Beispiel,

Input: 100
Output: 1 Odd, 0 Even, 2 Zeros //1(Odd)0(Zero)0(Zero)

oder

Input: 2034
Output: 1 Odd, 2 Even, 1 Zero //2(Even)0(Zero)3(Odd)4(Even)

Ich bin mir ziemlich sicher, dass ich über das denken, aber ich kann nicht langsam mein Gehirn nach unten. Kann jemand helfen?
Dies ist die Dritte iteration der code, die ersten beiden waren versucht mit for-Schleifen.

import java.util.Scanner;

 public class oddEvenZero
 {
    public static void main(String[] args) {
        Scanner scan = new Scanner (System.in);
        int value;
        int evenCount = 0, oddCount = 0, zeroCount = 0;

        System.out.print("Enter an integer: ");
        value = scan.nextInt();

        while (value > 0) {

        value = value % 10;

        if (value==0) 
        {
           zeroCount++;
        }
        else if (value%2==0) 
        {
           evenCount++;
        }
        else 
        { 
           oddCount++;
        }
        value = value / 10;
    }
    System.out.println(); 
    System.out.printf("Even: %d Odd: %d Zero: %d", evenCount, oddCount, zeroCount);
 }
}

Sorry, der code formatiert unheimlich in die textbox.

Null ist eine gerade Zahl, wissen Sie.
Es ist ein Buch Zuweisung in Lewis/Loftus. Vielen Dank für die Beantwortung es.

InformationsquelleAutor user2837136 | 2013-10-02

Schreibe einen Kommentar