Java: faire afficher message d'erreur quand..
Fermé
Saperlipopiette
Messages postés
14
Date d'inscription
mardi 3 janvier 2012
Statut
Membre
Dernière intervention
7 février 2013
-
7 janv. 2012 à 17:30
Utilisateur anonyme - 9 janv. 2012 à 17:04
Utilisateur anonyme - 9 janv. 2012 à 17:04
A voir également:
- Java: faire afficher message d'erreur quand..
- Waptrick java football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Jeux java itel football - Télécharger - Jeux vidéo
- Java jre - Télécharger - Langages
- Télécharger jeux java gameloft gratuit - Forum Mobile
2 réponses
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
7 janv. 2012 à 17:45
7 janv. 2012 à 17:45
Il faudrait savoir ce qu'est Terminal.lireDouble, car ce n'est pas une méthode standard.
En particulier à quelle classe appartient l'exception détectée ?
En particulier à quelle classe appartient l'exception détectée ?
Utilisateur anonyme
8 janv. 2012 à 19:36
8 janv. 2012 à 19:36
Salut,
//... public class La_classe { private static boolean errSaisie = true; private static String messErr = ""; //.... public static void main(String[] args) { while(errSaisie) { errSaisie = false; //remis à true si erreur Double x, y, z; System.out.print("Combien consomme votre voiture en litre pour 100km? "); x = lireDouble(); System.out.println ("x = " + x); //x=Terminal.lireDouble(); if(x<1 || x>9.99 ) { System.out.println ("Entrez une valeur supérieur ou égal à 1 litre ou inférieure à 10 litres."); errSaisie = true; } } //............ } //Et dans le ou les catch de la méthode lireDouble(): catch (................ ...) { messErr = "Le message d'erreur du catch..."; errSaisie = true; } Cordialement, Dan
Re,
Désolé je me rend compte que la méthode lireDouble() est dans la classe Terminal et ma que ma solution fonctionnerait avec une méthode de la classe utilisateur.
Je vais donc rectifier le tir sans pouvoir modifier car trop tard et donc envoyer le nouveau code...
Le message d'erreur pourait être affiché dans une boîte d'erreur.
Cordialement,
Dan
Plus on apprend... plus on se rend compte qu'on ne connaît pas grand-chose.
Désolé je me rend compte que la méthode lireDouble() est dans la classe Terminal et ma que ma solution fonctionnerait avec une méthode de la classe utilisateur.
Je vais donc rectifier le tir sans pouvoir modifier car trop tard et donc envoyer le nouveau code...
boolean errSaisie = true; while(errSaisie) { errSaisie = false; //remis à true si erreur Double x, y, z; System.out.print("Combien consomme votre voiture en litre pour 100km? "); x = Terminal.lireDouble(); // exemple: si la saisie n'est pas numérique la méthode lireDouble() doit retourner -1 if(x == -1) { System.out.println ("Entrée invalide."); errSaisie = true; } else if(x<1 || x>9.99 ) { System.out.println ("Entrez une valeur supérieure ou égale à 1 litre ou inférieure à 10 litres."); errSaisie = true; } }
Le message d'erreur pourait être affiché dans une boîte d'erreur.
Cordialement,
Dan
Plus on apprend... plus on se rend compte qu'on ne connaît pas grand-chose.
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
9 janv. 2012 à 13:03
9 janv. 2012 à 13:03
Je pense (à confirmer par Sapelipopette) que les erreurs de saisie doivent plutôt être du genre NumberFormatException ou InputMismatchException selon si lireDouble appelle Double.parseDouble, Scanner.nextDouble ou autre. La solution à apporter serait alors plutôt une gestion avec un try/catch...