Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich hab folgendes Problem bei meinem Programm. Wenn ich es mit BlueJ starte, funktioniert es ganz normal. Wenn ich es dann aber noch mal starten möchte, kommt die Fehlermeldung aus dem try-catch Block. Damit mein Programm wieder läuft, muss ich BlueJ beenden und von neu starten...und das geht schon die ganze Zeit so.
Hier der Code:
Code:
/**
* Dieses Programm liest 5 Fließkommazahlen ein und speichert sie in einem Array ab.
* Die Zahlen werden dann anschließend in umgekehrter Reihenfolge ausgegeben.
*
* @author Kaan
* @version 22. September 2004
*/
import java.io.*;
public class Aufgabe13
{
public static void main(String[] args)
{
//Eingabe-Stream erzeugen
BufferedReader cli = new BufferedReader(new InputStreamReader(System.in));
//Array für die Zahlen erstellen
double[] zahlen = new double[5];
//5 Zahlen einlesen
try{
for(int i = 0; i < 5; i++){
System.out.print((i+1) + ". Zahl eingeben: ");
zahlen[i] = Double.parseDouble(cli.readLine());
}
cli.close();
}catch(IOException e){
System.out.println("Oh oh");
}
//5 Zahlen in umgekehrter Reihenfolge ausgeben
for(int i = 4; i >= 0; i--){
System.out.println(zahlen[i]);
}
}
}
@Beni...zuerst mal "lol" wegen der coolen Antwort.
Bei mir steht jetzt folgendes:
java.io.IOException: Stream closed
at java.io.BufferedInputStream.ensureOpen(BufferedInputStream.java:120)
at java.io.BufferedInputStream.read(BufferedInputStream.java:270)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:408)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:450)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:182)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at Aufgabe13.main(Aufgabe13.java:24)
at __SHELL1.run(__SHELL1.java:6)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at bluej.runtime.ExecServer$3.run(ExecServer.java:759)
Ich Versteh zwar ungefähr was diese Exceptions bedeuten, aber ich hab keine Ahnung, wieso es bei diesem Mini-Programm einen Fehler gibt. Vielleicht stimmt was mit meinem Computer, bzw. Java SDK nicht. Könnte mal jemand den Sourcecode auf dem eigenen Rechner testen?
Ich hab das ausprobiert, und keinen Fehler gekriegt...
Naja, da hier "java.io.IOException: Stream closed" steht: streich mal den Befehl den Stream zu schliessen, vielleicht nützt das was.
Code:
for(int i = 0; i < 5; i++){
System.out.print((i+1) + ". Zahl eingeben: ");
zahlen[i] = Double.parseDouble(cli.readLine());
}
cli.close(); // ####### das hier wegnehmen