Integerzahl von Tastatur einlesen ?

Ich habe eine Aufgabe. Es gibt die Bildschirmfrage:
„Bitte geben Sie eine beliebige Zahl ein:“, dartaufhin
muss ich eine Integer-Zahl eingeben, diese wird über
die Tastatur vom Benutzer eingelesen und weiterver-
arbeitet. Nur wie geht dies unter Jave ???

Gruß, MAJASOFT.

Moin,

Ich habe eine Aufgabe. Es gibt die Bildschirmfrage:
„Bitte geben Sie eine beliebige Zahl ein:“

System.out.println()

dartaufhin muss ich eine Integer-Zahl eingeben

System.in in einen Reader packen, dann umwandeln in long (BigInt?)

diese wird über die Tastatur vom Benutzer eingelesen

?

weiterverarbeitet.

?

Thorsten

Ich habe eine Aufgabe. Es gibt die Bildschirmfrage:
„Bitte geben Sie eine beliebige Zahl ein:“

System.out.println()

… was nicht unbedingt die Frage war …

dartaufhin muss ich eine Integer-Zahl eingeben

System.in in einen Reader packen, dann umwandeln in long
(BigInt?)

Anmerkung: richtig.

Erklärung:
Du benutzt genauer gesagt einen java.io.InputStreamReader,
dem du bei der Erzeugung eben System.in als Stream
mitgibst. Dann liest er automatisch von der Standardeingabe, also
i.A. der Tastatur. Von dem liest du dann alles, was reinkommt.

Der Einfachheit halber kannst du den ISR auch wiederum in einen
BufferedReader hineintun, aus dem du dann Zeilenweise
lesen kannst, also deine ganze Zahl in einem Schlag.

Dann benutzt du entweder java.lang.Integer.parseInt() bzw.
java.lang.Long.parseLong() zum Konvertieren, oder eben die
entsprechende Routing aus dem java.math.BigInteger Packet.
Hängt von der erwarteten Zahlengröße ab.

Das sollte dein Problem lösen.

Achte allerdings darauf, dass auch System.in bereits
gepuffert ist. Wenn du also Pech hast, tippt der Benutzer die
ganze Zeit irgendwo auf der Tastatur rum, und die krigst das dann
beim Lesen alles auf einen Schlag vorgeknallt. Darauf musst du
entsprechend reagieren…

Gruß,
Stefan :smile: