Problème avec boucles & variable de type char

Messages postés
3
Date d'inscription
jeudi 15 mars 2018
Dernière intervention
15 mars 2018
- - Dernière réponse : KX
Messages postés
15870
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 décembre 2018
- 15 mars 2018 à 22:30
Bonjour,

Depuis quelques semaines, je fais mes premiers pas en java. J'en suis aux boucles (instructions do...while), et ici j'essaie un petit programme de calcul de moyenne, puis la boucle se répétant avec comme condition la saisie de la variable char 'o'. Comme vous le voyez sur l'image, le programme compile parfaitement jusqu'à l'instruction afin de faire répéter la boucle...

Qu'en pensez-vous ?
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
15870
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 décembre 2018
1
Merci
Bonjour,

Voir cette question et ma réponse :
http://www.commentcamarche.net/forum/affich-35209589-do-et-while

À l'occasion il faudra que je fasse une fiche bien détaillée car c'est une erreur qui revient souvent sur le forum et j'ai l'impression de me répéter...

PS. À l'avenir merci de copier-coller ton code sur le forum, plutôt que faire une impression écran de celui-ci, c'est plus pratique pour pouvoir tester le code si besoin sur nos machines (même si ici, il n'y a pas besoin...)

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Iaroslaf
Messages postés
3
Date d'inscription
jeudi 15 mars 2018
Dernière intervention
15 mars 2018
-
merci mais je ne comprends pas trop votre réponse sur l'autre post.
KX
Messages postés
15870
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 décembre 2018
> Iaroslaf
Messages postés
3
Date d'inscription
jeudi 15 mars 2018
Dernière intervention
15 mars 2018
-
Le problème vient de Scanner parce que tu appuies sur la touche Entrée pour valider la saisie des nombres. Mais nextDouble lit uniquement les nombres, pas la touche Entrée, qui est lue avec nextLine dans un String qui sera vide, et dont on ne peut donc pas lire le premier caractère puisqu'il n'y en a pas d'où l'erreur sur le charAt(0).

La solution est de remplacer les nextDouble par des nextLine combinés à des Double.parseDouble (comme pour les nextInt dans l'autre discussion)
Iaroslaf
Messages postés
3
Date d'inscription
jeudi 15 mars 2018
Dernière intervention
15 mars 2018
-
Ça marche ! Donc si j'ai bien compris, comme j'appuie sur la touche entrez pour valider ma saisie de nombre, cette touche est prise en compte comme caractère vide dans la variable char ?
KX
Messages postés
15870
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 décembre 2018
> Iaroslaf
Messages postés
3
Date d'inscription
jeudi 15 mars 2018
Dernière intervention
15 mars 2018
-
C'est presque ça oui.
Tu dois avoir le même nombre de nextLine que le nombre de fois où tu appuies sur Entrée.
Commenter la réponse de KX

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.