/**
* @author Philippe Genoud
* @version 13/10/98
* L'objet de cette classe est de faciliter la lecture de donn‰es
* € partir du clavier.
* Elle defini une methode de lecture pour les types de base
* les plus courramment utilises.
*
* La lecture d'un valeur au clavier se fait en tappant celle-ci suivie
* d'un retour chariot.
*
* En cas d'erreur de lecture (par exemple un caractˆre a ete tap‰
* lors de la lecture d'un entier), et message d'erreur est affich‰
* et l'ex‰cution du programme est interrompue.
*
*
*/
import java.io.*;
public class StdInput {
private static BufferedReader stdin =
new BufferedReader(
new InputStreamReader(System.in));
/** lecture au clavier d'un entier simple precision (int)
* @return l'entier lu
*/
public static int lireEntier() {
try {
return(Integer.parseInt(stdin.readLine()));
}
catch (Exception e)
{
erreurEntree(e,"entier");
return 0; // meme si on passe jamais ici il faut un return !!
}
}
/** lecture au clavier d'une chaine de caractêres
* @return la chaine lue
*/
public static String lireChaine() {
try {
return(stdin.readLine());
}
catch (Exception e) {
erreurEntree(e,"chaine de caractˆeres");
return null;
}
}
/** lecture au clavier d'un réel simple précision (float)
* @return le float lu
*/
public static float lireFloat() {
try {
return(Float.valueOf(stdin.readLine()).floatValue());
}
catch (Exception e) {
erreurEntree(e,"r‰el (float)");
return (float) 0.0;
}
}
/** lecture au clavier d'un reél double précision (double)
* le double lu
*/
public static double lireDouble() {
try {
return(Double.valueOf(stdin.readLine()).doubleValue());
}
catch (Exception e) {
erreurEntree(e,"r‰eél (double)");
return 0.0;
}
}
/** lecture au clavier d'une chaine : si on entre "o" ou "O"
* la méthode renvoie true, sinon elle renvoie false
* @return true
si la chaine lue est "o" ou "O",
* false
sinon
*/
public static boolean lireOuiNon() {
String ch;
ch = lireChaine();
return (ch.equals("o") || ch.equals("O"));
}
/**
*/
private static void erreurEntree(Exception e, String message)
{
System.out.println("Erreur lecture " + message);
System.out.println(e);
e.printStackTrace();
System.exit(1);
}
}