Mit Scanner mit einer Folge von Integer-zahlen

Schreibe ich ein Programm nehmen, eine Sequenz von ganzen zahlen von der Konsole, z.B.

1 5 3 4 5 5 5 4 3 2 5 5 5 3

berechnen Sie die Anzahl der vorkommen, und drucken Sie die folgende Ausgabe:

0 - 0 
1 - 1 
2 - 1 
3 - 3 
4 - 2 
5 - 7 
6 - 0 
7 - 0 
8 - 0 
9 - 0

wo die zweite Zahl ist die Anzahl der vorkommen der ersten Reihe.

Code:

public static void main (String args[])
{
    Scanner chopper = new Scanner(System.in);
    System.out.println("Enter a list of number: ");

    int[] numCount = new int[10];
    int number;

    while (chopper.hasNextInt()) {
        number = chopper.nextInt();
        numCount[number]++;
    }

    for (int i = 0; i < 10; i++) {
        System.out.println(i + " - " + numCount[i]);
    }
}

Aber nach der Eingabe der Sequenz, wir müssen geben Sie ein nicht-integer-Zeichen, und drücken Sie "Enter", um beenden Sie den Scanner und führen Sie die "for" - Schleife. Gibt es eine Möglichkeit, dass wir nicht haben, um geben Sie ein nicht-integer-Zeichen zum beenden der Scanner?

  • mögliche Duplikate von Wie zu beenden, Scanner, wenn die Eingabe vollständig ist?
  • bitte angeben, was Sie möchten, dass der Benutzer zu tun, um das Programm zu beenden ? Sie wan ' T ihm, geben Sie "Ende" zum Beispiel ? oder vielleicht eine sentinel-Wert 99999?
  • das wäre Teil einer Antwort in form einer Erklärung, warum dies nicht nur die Arbeit, wenn Sie Scanner.
  • Savard Der Benutzer-Typen integer-Sequenz und drücken Sie die EINGABETASTE, um das Programm zu beenden
InformationsquelleAutor user3681996 | 2014-09-06
Schreibe einen Kommentar