Classe permettant d'effectuer des saisies en java, sans beug (utilisation de la classe scanner avec des try catch)

Description

Classe permettant d'effectuer des saisies en java, sans bogues (utilisation de la classe Scanner fournis par le jdk, avec des try catch). Ma classe permet notamment de saisir des String, int, float, double, char en gérant les erreurs de saisies et redemande la saisie si l'utilisateur saisi mal.

Source / Exemple :


/**
 *

  • @author Alino-91
  • /
public class TestSaisie { public TestSaisie() { } public static void main(String[] args) { new TestSaisie().methode1(); }//fin psvm public void methode1() { Saisie saisie = new Saisie(); System.out.println("Veuillez saisir s.v.p un String ?"); String str = saisie.getSaisieString(); System.out.println("La variable str vaut : " + str); System.out.println("\nVeuillez saisir s.v.p un entier ?"); int entier = saisie.getSaisieInt(); System.out.println("La variable entier vaut : " + entier); System.out.println("\nVeuillez saisir s.v.p un réel (double) ?"); double reelDouble = saisie.getSaisieDouble(); System.out.println("La variable reelDouble vaut : " + reelDouble); System.out.println("\nVeuillez saisir s.v.p un réel (float) ?"); float reelFloat = saisie.getSaisieFloat(); System.out.println("La variable reelFloat vaut : " + reelFloat); System.out.println("\nVeuillez saisir s.v.p un caractère (char) ?"); char caractere = saisie.getSaisieCaractere(); System.out.println("La variable caractere vaut : " + caractere); }//fin methode1() }//fin class import java.util.InputMismatchException; import java.util.Scanner; /** *
  • @author Alino-91
  • /
public class Saisie { public Saisie() { }//fin constructeur public synchronized int getSaisieInt() { int x = 0; boolean boolErreur = false; do { if (boolErreur) { System.out.println("Erreur : veuillez saisir un entier s.v.p !!!"); } boolErreur = false; Scanner sc = new Scanner(System.in); //System.out.println("Question ?"); try { x = sc.nextInt(); } catch (InputMismatchException e) { //e.printStackTrace(); boolErreur = true; } } while (boolErreur); return x; } public synchronized double getSaisieDouble() { double x = 0.0; boolean boolErreur = false; do { if (boolErreur) { System.out.println("Erreur : veuillez saisir un réel s.v.p !!!"); } boolErreur = false; Scanner sc = new Scanner(System.in); try { x = sc.nextDouble(); } catch (InputMismatchException e) { boolErreur = true; } } while (boolErreur); return (double) x; } public synchronized float getSaisieFloat() { float x = (float) 0.0; boolean boolErreur = false; do { if (boolErreur) { System.out.println("Erreur : veuillez saisir un réel s.v.p !!!"); } boolErreur = false; Scanner sc = new Scanner(System.in); try { x = sc.nextFloat(); } catch (InputMismatchException e) { boolErreur = true; } } while (boolErreur); return (float) x; } public synchronized String getSaisieString() { String s = new Scanner(System.in).next(); return s.trim(); } public synchronized char getSaisieCaractere() { String s = ""; boolean boolErreur = false; do { if (boolErreur) { System.out.println("Erreur : veuillez saisir un seul et unique caractère s.v.p !!!"); } boolErreur = false; s = new Scanner(System.in).next(); if(s.length() != 1) { boolErreur = true; } } while (boolErreur); return s.charAt(0); } }//fin class

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.