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...
À 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...)
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)
Ç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 ?
La solution est de remplacer les nextDouble par des nextLine combinés à des Double.parseDouble (comme pour les nextInt dans l'autre discussion)
Tu dois avoir le même nombre de nextLine que le nombre de fois où tu appuies sur Entrée.