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

Soyez le premier à donner votre avis sur cette source.

Vue 7 873 fois - Téléchargée 676 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

Utilisateur anonyme
Il te faut au minimum le jdk 1.5 pour compiler correctement ce code source java.
cs_david
Messages postés
24
Date d'inscription
lundi 31 décembre 2001
Statut
Membre
Dernière intervention
19 mai 2012

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.
Utilisateur anonyme > cs_david
Messages postés
24
Date d'inscription
lundi 31 décembre 2001
Statut
Membre
Dernière intervention
19 mai 2012

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.
begueradj
Messages postés
291
Date d'inscription
dimanche 4 octobre 2009
Statut
Membre
Dernière intervention
25 août 2014
1
moi aussi :)
laguchori
Messages postés
62
Date d'inscription
mardi 26 octobre 2010
Statut
Membre
Dernière intervention
10 juin 2014

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.