/** * @author Philippe Genoud * @version 17/09/97 * 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) */ 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 */ public static String lireChaine() { try { return(stdin.readLine()); } catch (Exception e) { erreurEntree(e,"chaine de caractères"); return null; } } /** lecture au clavier d'un réel simple précision (float) */ 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 réel double précision (double) */ public static double lireDouble() { try { return(Double.valueOf(stdin.readLine()).doubleValue()); } catch (Exception e) { erreurEntree(e,"réel (double)"); return 0.0; } } /** */ private static void erreurEntree(Exception e, String message) { System.out.println("Erreur lecture " + message); System.out.println(e); e.printStackTrace(); System.exit(1); } }