Lehrer Nussbaumer - JAVA (eine kleine Einführung ;) |
---|
GrundlagenGUIEingabeAusgabeApplikationenAppletsServletsBeispieleSpieleIDEsSkriptumJAVA-DOCS----------------- letzte Änderung: 09 December 2021 ----------------- Lehrer Nussbaumers Seite ... in Arbeit ... |
Ein- und AusgabeStandard-Ein- und -AusgabeDie Datenein- und -ausgabe beruht auf einer Reihe von Klassen, die in java.io.* zur Verfügung gestellt werden. Das folgende Beispiel zeigt das Zusammenspiel dieser Methoden: import java.io.*; public class eingabe { public static void main (String args[]) throws IOException{ InputStreamReader datenstrom = new InputStreamReader(System.in); BufferedReader dateneingabe = new BufferedReader(datenstrom); String str = dateneingabe.readLine(); System.out.println(str); } } Die Eingabe beruht auf einem sogenannten "Input-Stream": Die Klasse InputStreamReader wandelt eingegebene Zeichen in Bytes um. Die Klasse BufferedReader speichert den erhaltenen Bytes-Strom und stellt Methoden (readLine()) zur Verfügung, mit denen die Daten aus dem Puffer gelesen werden. Bemerkung: Die Standard-Eingabe wird über den Datenstrom System.in, die Standard-Ausgabe über den Datenstrom System.out geregelt. Zusätzlich steht noch die Standard-Ausgabe für Fehlermeldungen in System.err zur Verfügung (Beachte, dass Methoden mit Ein-/Ausgabeoperationen stets "IOExceptions" werfen dürfen!). Sollen Zahlen eingelesen werden, so muss die Eingabe mit der Methode parseInt der Klasse Integer in eine ganze Zahl umgewandelt werden: import java.io.*; public class eingabe { public static void main (String args[]) throws IOException{ InputStreamReader datenstrom = new InputStreamReader(System.in); BufferedReader dateneingabe = new BufferedReader(datenstrom); int i = Integer.parseInt(dateneingabe.readLine()); System.out.println("Die Zahl " + i + " wurde eingegeben ;-)"); } } Weitere Beispiele:Im folgenden Beispiel wird die Eingabe so lange wiederholt, bis das erste Zeichen des eingegebenen Strings '.' ist: import java.io.*; public class eingabe3 { public static void main (String args[]) throws IOException { InputStreamReader eingabedatenstrom = new InputStreamReader(System.in); BufferedReader eingabe = new BufferedReader(eingabedatenstrom); String str="hallo"; while (str.charAt(0) != '.') { System.out.print (">? "); str = eingabe.readLine(); System.out.println(str); } } } Aufgabe: Erstelle ein Programm, das so lange ganze Zahlen von der Standard-Eingabe einliest, bis die Zahl 0 eingegeben wird! |