![]() |
JAVA System.in.read(); IOException Warum?
Hallo.
Ich bin neu hier und ebenfalls neu in Java, weshalb ich eine frage habe. Wir sollen für die Schule einen simplen Taschenrechner in Java programmieren. Dazu brauche ich System.in.read(); allerdings bekomme ich dabei eine IOException also, dass irgendwas am System.in falsch ist. Aber was? Danke im Vorraus. |
Ohne den Code zu sehen kann es alles sein.
Guck mal hier [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] und hier [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] rein. Vielleicht hilft es schon weiter. |
In ordnung... vorangegangenes Problem habe ich nicht mehr... Allerdings kommt jetzt das nächste problem.[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]
was ist daran falsch? Diese Exception ergibt überhaupt keinen sinn, weil ich den Datentypen "byte" nie aufgerufen habe. |
Es ist für Neulinge immer bisschen kompliziert, wie die Eingabeströme in Java funktionieren.
Dein Fehler wird dadurch verursacht, da die read()-Methode mit einem 1. Operator ein Byte-Array erwartet und du einen int übergibst. Für die Standard-Eingaben über die Console sollte man zunächst einen Scanner aus dem java.utils. Packet verwenden. Dieser erwartet einen InputStream als Übergabe-Parameter. Hier können wir System.in verwenden. Dieser ist bereits geöffnet und wurde für Tastatur-Eingaben gedacht. Code:
/* Eingabe mit Scanner */ Mfg |
Nein leider nicht. Irgendwas funktioniert noch immer nicht. Man könnte meinen mein Java Editor hat das Tourette-Syndrom nur mit Exceptions.
Er sagt mir nach wie vor Input Stream cannot converted to int. Jetzt lern ich in der Schule seit einem halben Jahr Java und wir haben mit dem "Hamster-Simulator" angefangen.... Jetzt steigen wir auf den Editor um und ich kriegs kotzen....^^ |
Das Beispiel von dustail funktioniert.
Damit Dein code auch funktioniert solltest Du Dir den Parameter von System.in.read ansehen. Du übergibst als Parameter rechenart und rechenart ist ein int, aber System.in.read erwartet ein byte[]. Deswegen auch die Meldung, dass int nicht zu byte[] konvertiert werden kann. |
Zitat:
"Input Stream cannot converted to int." Bedeutet schlichtweg, dass ein int erwartet wird, du aber ein Objekt des Typs "InputStream" übergibst. Sogar die Zeile, bei dem der Fehler entsteht sollte dir der Comiler ausspucken.... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:04 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.