Saisie non aceptée
zouari.f
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
je suis débutante en JAVA
j'ai un problème au niveau d’exécution :
lorsque j'applique le contrôle de validation pour vérifier que la saisie acceptée est un nombre entier entre 1 et 4 je dois taper le nombre 3 ou 4 fois pour qu'il accepte :
run:
S.V.P,saisir votre choix :
Pour choisir l'addition saisir le chiffre 1
Pour choisir la soustraction saisir le chiffre 2
Pour choisir la multiplication saisir le chiffre 3
Pour quitter saisir le chiffre 4
1
1
1
S.V.P,saisir le premier nombre
voici le code :
est ce que quelqu'un peut m'aider pour qu'il accepte la saisie dés la première fois
merci :)
j'ai un problème au niveau d’exécution :
lorsque j'applique le contrôle de validation pour vérifier que la saisie acceptée est un nombre entier entre 1 et 4 je dois taper le nombre 3 ou 4 fois pour qu'il accepte :
run:
S.V.P,saisir votre choix :
Pour choisir l'addition saisir le chiffre 1
Pour choisir la soustraction saisir le chiffre 2
Pour choisir la multiplication saisir le chiffre 3
Pour quitter saisir le chiffre 4
1
1
1
S.V.P,saisir le premier nombre
voici le code :
System.out.println(msg);
lecteur.nextLine();
while (!lecteur.hasNextInt() || lecteur.nextInt() > 4 || lecteur.nextInt() <= 0) {
System.out.println(msgE);
lecteur.nextLine();
}
choix = lecteur.nextInt();
est ce que quelqu'un peut m'aider pour qu'il accepte la saisie dés la première fois
merci :)
A voir également:
- Saisie non aceptée
- Saisie gestuelle iphone - Guide
- Saisie vocale whatsapp - Accueil - Messagerie instantanée
- Saisie vocale sms - Guide
- Gboard saisie vocale - Accueil - Applications & Logiciels
- Saisie automatique - Guide
1 réponse
Bonjour,
À chaque fois que tu fais un nextLine tu lis une ligne, à chaque fois que tu fais un nextInt tu lis un entier, etc.
Si tu ne veux faire qu'une seule lecture il faut utiliser une seule fois cette méthode, puis tu contrôle la validité de la saisie a posteriori.
À chaque fois que tu fais un nextLine tu lis une ligne, à chaque fois que tu fais un nextInt tu lis un entier, etc.
Si tu ne veux faire qu'une seule lecture il faut utiliser une seule fois cette méthode, puis tu contrôle la validité de la saisie a posteriori.
System.out.println(msg); String line = lecteur.nextLine(); try { int value = Integer.parseInt(line); if (value<=0 || value>4) { // cas où l'intervalle n'est pas respecté System.out.println(msgE); } else { choix = value; } } catch (NumberFormatException e) { // cas où la ligne n'est pas un entier System.out.println(msgE); }