SavitchIn.readInt()

M

misaki

Gast
Hallo!!
Ich hab mich gerade gefragt, was passiert, wenn man über SavitchIn.readInt() versucht, eine integer Zahl einzulesen, aber keine vorhanden ist. Ist die Variable dann leer? Und wenn ja, wie überprüft man das?
Liebe Grüße
 

eRaaaa

Top Contributor
Hallo!!
Ich hab mich gerade gefragt, was passiert, wenn man über SavitchIn.readInt() versucht, eine integer Zahl einzulesen, aber keine vorhanden ist. Ist die Variable dann leer? Und wenn ja, wie überprüft man das?
Liebe Grüße

SavitchIn ? Was ist das? Das ist keine Klasse aus dem JDK :)
Google findet: http://mozbayoglu.etu.edu.tr/Dersler/bil102/SavitchIn.java

Was heißt keine vorhanden ist? Wenn du etwas anderes einliest, was nicht von Integer.parseInt verarbeitet werden kann, fliegt eine Exception!
 
M

misaki

Gast
ja, genau das was Google findet ist das SavitchIn, das ich verwende. Dachte das wäre geläufiger, uns auf der Uni wurde das sofort eingebläut und wird auch pausenlos verwendet.

Naja das Problem ist .. ich lese zum Beispiel eine Reihe von Zahlen ( 1 3 5 8 -3 -2 ..... ) usw. der Reihe nach ein. Sobald eine 0 vorkommt, hört meine Schleife auf. Ich frag mich aber, was passiert, wenn keine 0 vorkommt und der Benutzer die Reihe aber trotzdem bei der Eingabe schon abgeschlossen hat ... und ich krieg da keinen Fehler, sondern eher ne Endlosschleife :D
 
M

misaki

Gast
Hab gerade rausgefunden, dass SavitchIn.readInt() einfach so lange wartet, bis eine neue integer-Zahl eingegeben wird. Sowas kann man aber wahrscheinlich nicht abfragen, oder? Also wenn man will, dass das Programm dann vielleicht einfach eine 0 annimmt oder sowas ?
 

Murray

Top Contributor
Machen kann man das sicher irgendwie, aber ganz einfach wird das nicht - ich kenne die hier verwendete Bibliothek nicht, nehme aber an, dass beim Einlesen einfach darauf gewartet wird, dass Daten eingegeben werden. Wenn man jetzt möchte, dass einfach mal 0 angenommen wird, wenn nichts eingegeben wurde, dann muss man doch zuerst mal definieren, wann "nichts" eingegeben wurde. Eigentlich wird ja immer zuerst "nichts" eingegeben, bis der Anwender dann die eine oder andere Taste drückt. Was Du brauchst ist also eine Timeout, der zuschlägt, wenn über einen bestimmten Zeitraum hinweg nichts eingegeben wurde. Insofern ist hier eine gewisse Asynchronität nötig: ein Thread wartet auf Eingaben, ein anderer überwacht die Zeit.
 

Ähnliche Java Themen


Oben