myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

JAVA System.in.read(); IOException Warum?

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 06.02.15, 14:30   #1
RageKage
Anfänger
 
Registriert seit: Feb 2015
Beiträge: 3
Bedankt: 0
RageKage ist noch neu hier! | 3 Respekt Punkte
Standard 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.
RageKage ist offline   Mit Zitat antworten
Ungelesen 06.02.15, 18:23   #2
Lieferant
Anfänger
 
Registriert seit: Oct 2010
Beiträge: 27
Bedankt: 13
Lieferant gewöhnt sich langsam dran | 49 Respekt Punkte
Standard

Ohne den Code zu sehen kann es alles sein.
Guck mal hier [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] und hier [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] rein.
Vielleicht hilft es schon weiter.
Lieferant ist offline   Mit Zitat antworten
Ungelesen 07.02.15, 15:26   #3
RageKage
Anfänger
 
Registriert seit: Feb 2015
Beiträge: 3
Bedankt: 0
RageKage ist noch neu hier! | 3 Respekt Punkte
Standard

In ordnung... vorangegangenes Problem habe ich nicht mehr... Allerdings kommt jetzt das nächste problem.
was ist daran falsch? Diese Exception ergibt überhaupt keinen sinn, weil ich den Datentypen "byte" nie aufgerufen habe.
RageKage ist offline   Mit Zitat antworten
Ungelesen 07.02.15, 18:11   #4
dustail
Newbie
 
Benutzerbild von dustail
 
Registriert seit: Mar 2009
Beiträge: 83
Bedankt: 45
dustail gewöhnt sich langsam dran | 35 Respekt Punkte
Standard

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 */

// Scanner initialisieren
Scanner scanner = new Scanner(System.in);

// Integer anlegen mit der nextInt() Methode des Scanners
int zahl = scanner.nextInt();

// Integer ausgeben
System.out.println(zahl);
Ich hoffe, ich konnte dir weiterhelfen

Mfg
dustail ist offline   Mit Zitat antworten
Ungelesen 07.02.15, 19:28   #5
RageKage
Anfänger
 
Registriert seit: Feb 2015
Beiträge: 3
Bedankt: 0
RageKage ist noch neu hier! | 3 Respekt Punkte
Standard

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....^^
RageKage ist offline   Mit Zitat antworten
Ungelesen 08.02.15, 11:58   #6
Lieferant
Anfänger
 
Registriert seit: Oct 2010
Beiträge: 27
Bedankt: 13
Lieferant gewöhnt sich langsam dran | 49 Respekt Punkte
Standard

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.
Lieferant ist offline   Mit Zitat antworten
Ungelesen 21.02.15, 12:25   #7
dustail
Newbie
 
Benutzerbild von dustail
 
Registriert seit: Mar 2009
Beiträge: 83
Bedankt: 45
dustail gewöhnt sich langsam dran | 35 Respekt Punkte
Standard

Zitat:
Zitat von RageKage Beitrag anzeigen
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....^^
Dein Editor hat kein Syndrom. Es ist der Java-Compiler, der dir sagt, was falsch läuft und weswegen die Kompilierung nicht geklappt hat. Somit hilft er dir

"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....
dustail ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 Uhr.


Sitemap

().