Scanner zwei mal benutzen (Java)?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Was spricht denn dagegen es einfach zu tun? Einfach nochmal .next() aufrufen und der selben Variablen zuweisen


Radyschen 
Beitragsersteller
 10.12.2016, 20:08

Oooookay, danke. Habe jetzt alles hinbekommen. Ich bringe es mir selbst bei ist deshalb ein bisschen kompliziert.

0

Scanner s = new Scanner(System.in);
int i = s.nextInt();
int j = s.nextInt();
s.close();

Darfst ihn halt erst am ende "schließen".


Radyschen 
Beitragsersteller
 13.12.2016, 14:03

ich habe es schon geschafft, trotzdem danke

0

Hallo. Ich verstehe leider nicht genau was du meinst.

Ein Scanner ist an den InputStream gekoppelt, von dem er liest. Wenn du ihn erzeugt hast, kannst du ihn so lange nutzen wie der dazugehörige InputStream besteht. D.h. wenn du einen Scanner für System.in erstellt hast, kannst du damit beliebig oft Eingaben einlesen.

Wenn du allerdings von einer anderen Quelle etwas einlesen möchtest brauchst du einen neuen Scanner. Ebenso kann es zu problemen führen wenn du einen zwei Scanner mit dem gleichen InputStream initialisierst und zeitgleich verwendest.