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

0/5 (5 avis)

Vue 11 099 fois - Téléchargée 772 fois

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

Ajouter un commentaire Commentaires
Cela signifie qu'il te manque les imports import java.util.InputMismatchException; et import java.util.Scanner; au niveau de ton code source, ajoute ces derniers dans ton code source et tu n'auras plus d'erreur.

Vu que tu as le jdk 1.6 ça devrait passer avec les bon imports qui vont bien.

A titre d'information le jdk 1.8 est sorti.
Utilisateur anonyme
20 janv. 2013 à 17:55
Il te faut au minimum le jdk 1.5 pour compiler correctement ce code source java.
cs_david Messages postés 23 Date d'inscription lundi 31 décembre 2001 Statut Membre Dernière intervention 19 mai 2012
25 févr. 2011 à 15:38
quand je compile il me marque ça
--------------------Configuration: JDK version 1.6.0_24 <Default>--------------------
C:\Program Files\Xinox Software\JCreator LE\MyProjects\Saisie\Saisie.java:39: class, interface, or enum expected
import java.util.InputMismatchException;
^
C:\Program Files\Xinox Software\JCreator LE\MyProjects\Saisie\Saisie.java:40: class, interface, or enum expected
import java.util.Scanner;
^
2 errors

Process completed.
begueradj Messages postés 273 Date d'inscription dimanche 4 octobre 2009 Statut Membre Dernière intervention 24 juin 2014 9
22 févr. 2011 à 10:43
moi aussi :)
laguchori Messages postés 62 Date d'inscription mardi 26 octobre 2010 Statut Membre Dernière intervention 13 janvier 2012
5 janv. 2011 à 17:27
merci j'en avais besoin

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.