import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;
/**
Una classe per leggere stringhe e numeri da un flusso di input.
Questa classe è particolarmente adatta per chi comincia
a programmare in Java.
Costruisce il necessario lettore bufferizzato,
gestisce le eccezioni I/O e converte le stringhe in numeri.
*/
public class ConsoleReader
{ /**
Costruisce un lettore da console da un flusso di input
come per esempio System.in
@param inStream un flusso di input
*/
public ConsoleReader(InputStream inStream)
{ reader = new BufferedReader
(new InputStreamReader(inStream));
}
/**
Legge una riga di input e la converte in un integer.
La riga di input non può contenere altro che un integer.
Non sono neppure ammessi spazi vuoti.
@return l'integer digitato dall'utente
*/
public int readInt()
{ String inputString = readLine();
int n = Integer.parseInt(inputString);
return n;
}
/**
Legge una riga di input e la converte in un numero in virgola
Mobile. La riga di input non può contenere altro che un
numero. Non sono neppure ammessi spazi vuoti.
@return il numero digitato dall'utente
*/
public double readDouble()
{ String inputString = readLine();
double x = Double.parseDouble(inputString);
return x;
}
/**
Legge una riga di input. Nel caso (improbabile) di
una eccezione I/O, il programma si arresta.
@return la riga di input digitata dall'utente, null
alla fine dell'input
*/
public String readLine()
{ String inputLine = "";
try
{ inputLine=reader.readLine();
}
catch(IOException e)
{ System.out.println(e);
System.exit(1);
}
return inputLine;
}
private BufferedReader reader;
}