Java: faire afficher message d'erreur quand..
Saperlipopiette
Messages postés
15
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Une petite question: En java
public static void main(String[] args) {
Double x, y, z;
System.out.print("Combien consomme votre voiture en litre pour 100km?");
x=Terminal.lireDouble();
while (x<1 || x>15 ){
System.out.println ("Entrez une valeur supérieur ou égal à 1 litre ou inférieur a 10litres.");
System.out.println("Combien consomme votre voiture en litre pour 100km?");
x=Terminal.lireDouble();
Je voudrais que lorsque l'utilisateur saisit un caractère alphabétique, l'erreur soit détecté et que je puisse afficher un message d'erreur de mon choix et l'inviter à refaire une nouvelle saisit. Bien évidemment lorsque je fais mon jeu de test via Netbeans, il détecte l'erreur, mais je voudrais pouvoir inviter l'utilisateur via une boucle et un message à resaisir une valeur, correct cette fois ci.
Si quelqu'un a une idée. Elle est la bienvenue ^^
Merci d'avance pour toutes réponses (sauf celle désobligeantes)
Une petite question: En java
public static void main(String[] args) {
Double x, y, z;
System.out.print("Combien consomme votre voiture en litre pour 100km?");
x=Terminal.lireDouble();
while (x<1 || x>15 ){
System.out.println ("Entrez une valeur supérieur ou égal à 1 litre ou inférieur a 10litres.");
System.out.println("Combien consomme votre voiture en litre pour 100km?");
x=Terminal.lireDouble();
Je voudrais que lorsque l'utilisateur saisit un caractère alphabétique, l'erreur soit détecté et que je puisse afficher un message d'erreur de mon choix et l'inviter à refaire une nouvelle saisit. Bien évidemment lorsque je fais mon jeu de test via Netbeans, il détecte l'erreur, mais je voudrais pouvoir inviter l'utilisateur via une boucle et un message à resaisir une valeur, correct cette fois ci.
Si quelqu'un a une idée. Elle est la bienvenue ^^
Merci d'avance pour toutes réponses (sauf celle désobligeantes)
A voir également:
- Java: faire afficher message d'erreur quand..
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Eclipse java - Télécharger - Langages
2 réponses
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 ?
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.
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...