Salut
J'ai exactement le meme probleme! est ce que t aurai trouvé une soluce?
un collegue m en a fais une,mais le probleme,c est les fonctions filtre et purge qui sautent
import java.util.Scanner;
public class Lire
{
private static Scanner sc = new Scanner(System.in);
public static String Chaine()
{
String result = "";
try {
result = sc.next();
}
catch (Exception e)
{
System.out.println ("Erreur de saisie");
System.exit (0);
}
return result;
}
// Lecture d'un caractère : uniquement le premier caractère de la nouvelle ligne
// si filtrage, n'importe quel caractère sinon
public static char Caractere ()
{
char result = 0;
try
{
result = (char) sc.next().charAt(0);
}
catch (Exception e)
{
System.out.println ("Erreur de saisie");
System.exit (0);
}
return result;
}
public static int Entier ()
{
int result = 0;
try {
result = Integer.parseInt ( Chaine () );
} catch (Exception e) {
System.out.println ("Format entier incorrect !");
System.exit(0);
}
return result;
}
public static short EntierCourt ()
{
short result = 0;
try {
result = Short.parseShort ( Chaine () );
} catch (Exception e) {
System.out.println ("Format entier incorrect !");
System.exit(0);
}
return result;
}
public static long EntierLong ()
{
long result = 0;
try {
result = Long.parseLong ( Chaine () );
} catch (Exception e) {
System.out.println ("Format entier incorrect !");
System.exit(0);
}
return result;
}
public static float Reel ()
{
float result = 0;
try {
result = Float.valueOf( Chaine() ).floatValue () ;
} catch (Exception e) {
System.out.println ("Format reel incorrect!");
System.exit(0);
}
return result;
}
public static double ReelDouble ()
{
double result = 0;
try {
result = Double.valueOf( Chaine() ).doubleValue () ;
} catch (Exception e) {
System.out.println ("Format reel incorrect!");
System.exit(0);
}
return result;
}
// Attente : permet de visualiser les résultats avant la sortie
// de l'application.
public static void Attente()
{
System.out.println ();
System.out.println ("*** Tapez Entree pour Terminer ***");
Lire.c();
}
// Attente : permet de visualiser les résultats avant la suite
// de l'application.
public static void Suite()
{
System.out.println ();
System.out.println ("*** Tapez Entree pour Continuer ***");
Lire.c();
}
public static boolean Question(String msg)
{
char reponse ;
do
{
System.out.print (msg + " (O/N ) ?" );
reponse = Lire.c();
}while ((reponse!='O')&&(reponse!='o')&&(reponse!='n')&&(reponse!='N'));
// arrêt quand reponse est égal à O,o,N,n
return (reponse == 'O') || (reponse == 'o') ;
}
// Alias des fonctions : pour compatibilité avec le livre
// "Le livre de Java comme premier langage"
public static String S ()
{
return Chaine();
}
public static short s ()
{
return EntierCourt();
}
public static long l ()
{
return EntierLong();
}
public static int i ()
{
return Entier();
}
public static char c ()
{
return Caractere();
}
public static float f ()
{
return Reel ();
}
public static double d ()
{
return ReelDouble ();
}
}