A
asdf
Gast
Habe mal versucht eine IO-Klasse zu schreiben. Ist aber mein erste Versuch mit Java und bin mir nicht sicher ob man das so machen sollte. Wäre nett wenn mal jemand kurz drüber guckt und mir sagt ob das alles einigermassen sinnvoll ist.
Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
public class MyIO {
private PrintWriter output;
private InputStreamReader stream;
private BufferedReader input;
public MyIO() {
output = new PrintWriter(System.out);
stream = new InputStreamReader(System.in);
input = new BufferedReader(stream);
}
public void close() {
try {
input.close();
stream.close();
output.close();
} catch(IOException e) {
e.printStackTrace();
}
}
public void print() {
output.flush();
}
public void print(String string) {
output.println(string);
output.flush();
}
public void addString(String string) {
output.print(string);
}
public int getInt() {
return getInt(Integer.MIN_VALUE,Integer.MAX_VALUE);
}
public int getInt(int min, int max) {
int integer = 0;
while (integer == 0) {
try {
String string = input.readLine();
try {
integer = Integer.parseInt(string);
if (integer < min || integer > max) {
integer = 0;
throw new NumberFormatException();
}
} catch(NumberFormatException e) {
printErrorMessage("Illegal integer input.","Integer in the range " + min + " to " + max);
}
} catch(IOException e) {
e.printStackTrace();
}
}
return integer;
}
private void printErrorMessage(String message, String expecting) {
print(" *** Error in input: " + message + "\n");
print(" *** Expecting: " + expecting + "\n");
print(" *** Try again\n");
}
}