A voir également:
- Scanner bug java
- Logiciel scanner - Télécharger - Divers Bureautique
- Jeux java itel ✓ - Forum Jeux vidéo
- Java runtime - Télécharger - Langages
- Scanner un document - Guide
- Telecharger scanner - Télécharger - Divers Utilitaires
1 réponse
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
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