myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   [JAVA] Hilfe beim Scanner (https://mygully.com/showthread.php?t=2152353)

wa53kefa 31.10.10 17:22

[JAVA] Hilfe beim Scanner
 
Hallo,

ich brauche mal wieder dringend eure HILFE. Ich will eine Tastatureingabe ermöglichen.
Programm soll folgendes können:
Tastatureingabe ermöglichen, die ersten Zahlen in ein Feld reinspeichern.
Feld soll nur 2 einträge erlauben, d.h. wenn ungleich 2 einträge, dann erneute abfrage.
Hier habe ich ein problem, wie kann ich prüfen wie viele Zahlen eingegen wurden???

(Das gleiche soll dann auch für das zweite Feld gelten.)



Code:

public void liesZahlenEin() {
        Scanner scanner = new Scanner(System.in);

        System.out.println("erste Zahl eingeben");
        Feld[0] = scanner.nextInt();
        Feld[1] = scanner.nextInt();
                while("wie soll ich abfragen?" != 2){
                        System.out.println("erste Zahl eingeben");
                        Feld[0] = scanner.nextInt();
                        Feld[1] = scanner.nextInt();
                }
                 

        System.out.println("zweite Zahl eingeben");
        Feld2[0] = scanner.nextInt();
        Feld2[1] = scanner.nextInt();
        }


PornoPenner 31.10.10 18:56

Gleiche Empfehlung wie bei Deinem anderen Thread.

Werf einen Blick in die Oracle-Dokumentation.

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

boolean hasNext()

oder gleich

boolean hasNextInt()
"Returns true if the next token in this scanner's input can be interpreted as an int value in the default radix using the nextInt() method."

Entweder selbst zählen oder in der while()-Schleife drüber iterieren...

wa53kefa 31.10.10 19:36

mein Problem ist:
hasnext sagt nur ob es einen folgenden Eintrag gibt oder nicht, aber nicht wie viele es noch gibt.
Wenn ich aber einfach in der Eingabe vier Zahlen eingebe macht das Programm einfach weiter. Auf der stdout steht dann zwar "zweite Zahl eingeben" aber es hat keine Bedeutung mehr, da die zwei Felder mit den vier Zahlen beschrieben werden.


Wie kann ich denn selber zählen??

gruß
wa

PornoPenner 31.10.10 20:05

Einfach eine while-Schleife solange laufen lassen wie scanner.hasNext() gilt.
In der Schleife könntest Du eine Variable hochzählen.

So ist es aber unschön.
Versuch doch nur mit .hasNext() auszukommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.