A voir également:
- Scanner bug java
- Bug yahoo mail - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Scanner un document - Guide
- Telecharger scanner - Télécharger - Divers Utilitaires
1 réponse
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 014
28 juin 2020 à 17:46
28 juin 2020 à 17:46
Bonjour,
Le problème c'est qu'ici Scanner est utilisé avec le clavier. Or quand tu saisis un nombre pour valider tu appuis également sur la touche Entrée.
Mais nextInt ne lit que le nombre, pas la touche Entrée, donc une fois le nombre lu il reste encore la touche Entrée à lire.
Lorsque le programme arrive sur nextLine il lit la touche Entrée qui restait, au lieu de lire la ligne que tu voulais.
Le plus simple pour résoudre ton problème, c'est de faire suivre chaque nextInt d'un nextLine dont le seul but sera de récupérer la touche Entrée.
Remarque :
Le problème c'est qu'ici Scanner est utilisé avec le clavier. Or quand tu saisis un nombre pour valider tu appuis également sur la touche Entrée.
Mais nextInt ne lit que le nombre, pas la touche Entrée, donc une fois le nombre lu il reste encore la touche Entrée à lire.
Lorsque le programme arrive sur nextLine il lit la touche Entrée qui restait, au lieu de lire la ligne que tu voulais.
Le plus simple pour résoudre ton problème, c'est de faire suivre chaque nextInt d'un nextLine dont le seul but sera de récupérer la touche Entrée.
int t = sc.nextInt(); sc.nextLine();
Remarque :
calc==("multiplier")est faux, pour comparer la valeur de deux objets il faut utiliser la méthode equals :
calc.equals("multiplier")
17 août 2020 à 00:09