/** * @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); } }