4.4 Ein- und Ausgaben in Java etwas komplizierter als in C++; über Klassenmethoden Klasse System mit ihren Methoden System.in, System.out.print() oder über Grafik-Klassen (z.B. Textfelder, Buttons) wichtig: mögliche Exceptions abfangen, z.B. IOException (in package java.io) hilfreich: eigene Klasse Eingabe erstellen, die mögliche Fehler abfängt Softwareentwicklung / Programmierung II Wellnitz 4.4 Ein- und Ausgaben in Java // Klasse Eingabe, speichern unter Eingabe.java // mit javac Eingabe.java kompilieren import java.io.*; public class Eingabe { static String str; static int i; Klasse String Zeichenkettenobjekt str Klassen zum Einlesen static BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in),1); … Konstruktor nutzen Softwareentwicklung / Programmierung II Wellnitz 4.4 Ein- und Ausgaben in Java // Methode zum Einlesen einer ganzen Zahl public static int readInt() Methode readInt() { Methode der Klasse try BufferedReader { str = eingabe.readLine(); // String lesen } catch(IOException ioe) {}; // Exception // abfangen und (mit nichts) behandeln if(str == null) // auf leere Referenz testen return 0; Methode Klasse Integer else intValue() return new Integer(str.trim()).intValue(); // int-Wert ermitteln und zurückgeben } Softwareentwicklung / Programmierung II Wellnitz 4.4 Ein- und Ausgaben in Java // Methode zum Einlesen einer Zeichenkette public static String readString() { try { str = eingabe.readLine(); // String lesen } catch(IOException ioe) {}; // Exception // abfangen und (mit nichts) behandeln if(str == null) // auf leere Referenz testen return " "; else return str; } Softwareentwicklung / Programmierung II Wellnitz 4.4 Ein- und Ausgaben in Java // Methode zum Einlesen eines Zeichens public static char readChar() { Methode der Klasse char c = '0'; BufferedReader try { c = (char) eingabe.read(); // Zeichen lesen und in char casten } catch(IOException ioe) {}; // Exception // abfangen und (mit nichts) behandeln return c; } Softwareentwicklung / Programmierung II Wellnitz 4.4 Ein- und Ausgaben in Java // Methode zum Einlesen einer Komma-Zahl public static double readDouble() { try{ str = eingabe.readLine(); // String lesen } catch(IOException ioe) {}; // Exception // abfangen und (mit nichts) behandeln if(str == null) // auf leere Referenz testen return 0; Klasse Double else return new Double(str.trim()).doubleValue(); } Methode // ... weitere Datentypvarianten bei Bedarf doubleValue() } // Klassenende Softwareentwicklung / Programmierung II Wellnitz 4.4 Ein- und Ausgaben in Java // Benutzung der Klasse Eingabe import Eingabe; import java.io.*; public class Multi { public static void main(String args[]) throws IOException Exception { weiterleiten int i,j; System.out.println(“Zahl eingeben: ”); i = Eingabe.readInt(); // Zahl einlesen System.out.print(“\nverdoppelt\t” + (i*2)); System.out.println(); Methode readInt() } der Klasse Eingabe } Softwareentwicklung / Programmierung II Wellnitz