IOTools.java
import java.io.*;
import java.util.*;
public class IOTools {
// Hilfsprogramme zur Vereinfachung des Benutzer-Dialogs
BufferedReader in;
public IOTools() {
in = new BufferedReader(new InputStreamReader(System.in));
}
public double holeDouble(String bitte) throws IOException {
// holt vom Benutzer einen double-Wert
// gibt vorher bitte aus
System.out.println(bitte);
String s = in.readLine();
double neuerWert = Double.parseDouble(s);
return neuerWert;
}
public double[] holeVieleDoubles(String bitte) throws IOException {
// holt vom Benutzer mehrere double-Werte als Array
// gibt vorher bitte aus
// Ende durch leere Eingabe
System.out.println(bitte + " (Ende: leere Eingabe)");
// da die Anzahl unbekannt ist, werden die Werte zunächst in eine Liste gepackt
ArrayList liste = new ArrayList();
do {
String s = in.readLine();
if (s.equals("")) {
break;
}
double neuerWert = Double.parseDouble(s);
liste.add(new Double(neuerWert));
} while (true);
// Werte als Array zurückgeben
// Problem: double sind keine Objekte, also Umweg über Double
Object[] oListe = liste.toArray();
double[] ergebnis = new double[oListe.length];
for (int i=0; i < oListe.length; i++) {
ergebnis[i] = ((Double) oListe[i]).doubleValue();
}
return ergebnis;
}
public int holeInt(String bitte) throws IOException {
// holt vom Benutzer einen int-Wert
// gibt vorher bitte aus
System.out.println(bitte);
String s = in.readLine();
int neuerWert = Integer.parseInt(s);
return neuerWert;
}
public boolean jaOderNein(String frage) throws IOException {
// holt vom Benutzer die Antwort auf eine Alternativfrage
// und gibt sie als boolean zurück
System.out.println(frage + " (j/n)?");
String s = in.readLine();
boolean antwort = false;
if (s.compareTo("j") == 0) {
antwort = true;
}
return antwort;
}
}