Sortir de la méthode
Résolu
helloword95
-
helloword95 -
helloword95 -
Bonjour,
Dans la méthode reciterTableDeMultiplication(), j'aimerai sortir de la méthode quand l'élève donne une mauvaise réponse et renvoie le nombre de réponses correcte. J'ai fait
Comment faire pour qu'il passe à l'élève suivant?
Merci
Dans la méthode reciterTableDeMultiplication(), j'aimerai sortir de la méthode quand l'élève donne une mauvaise réponse et renvoie le nombre de réponses correcte. J'ai fait
return nbReponseCorrectemais ensuite il re-continue avec une nouvelle table de multiplication au lieux de passer à l'élève suivant.
Comment faire pour qu'il passe à l'élève suivant?
Merci
public static void main(String[] args) { System.out.println("Entrez le nombre d'élèves : "); int nbEleves = scanner.nextInt(); int nbCorrecte = 0; String nomEleve = null; String nomGagnant; for (int i = 1; i <= nbEleves; i++){ System.out.println("Elève n°" + i); System.out.println("Entrez son nom : "); nomEleve = scanner.next(); reciterTableDeMultiplication(); if (reciterTableDeMultiplication() > nbCorrecte){ nbCorrecte = reciterTableDeMultiplication(); } } System.out.println(); nomGagnant = nomEleve; System.out.println("Le gagnant est " + nomGagnant); } public static int reciterTableDeMultiplication(){ int nbReponseCorrecte = 0; int choixTable = unEntierAuHasardEntre(6, 9); for (int i = 1; i <= 10; i++){ System.out.println(i + " x " + choixTable + " = "); int reponseEleve = scanner.nextInt(); int reponseCorrecte = i * choixTable; if (reponseEleve == reponseCorrecte){ reponseCorrecte = reponseEleve; nbReponseCorrecte++; }else{ System.out.println("FAUX !"); return nbReponseCorrecte; } } return nbReponseCorrecte; }
A voir également:
- Sortir de la méthode
- Comment sortir du mode sans echec ps4 - Guide
- Sortir du mode sécurisé - Guide
- Aucun son ne sort de mon pc - Guide
- Comment sortir une application d'un dossier - Accueil - Guide Android
- On va sortir lille - Forum Réseaux sociaux
1 réponse
Bonjour,
Pourquoi tu as trois fois l'appel ?
À chaque fois que tu fais un appel tu relances toute la méthode, donc tu vas tout relancer trois fois, avec potentiellement trois résultats différents.
Ce qu'il faudrait c'est que tu lances une fois la méthode, que tu stockes le résultat puis que tu manipules ce résultat obtenu mais sans relancer la méthode.
Pourquoi tu as trois fois l'appel ?
reciterTableDeMultiplication(); if (reciterTableDeMultiplication() > nbCorrecte){ nbCorrecte = reciterTableDeMultiplication();
À chaque fois que tu fais un appel tu relances toute la méthode, donc tu vas tout relancer trois fois, avec potentiellement trois résultats différents.
Ce qu'il faudrait c'est que tu lances une fois la méthode, que tu stockes le résultat puis que tu manipules ce résultat obtenu mais sans relancer la méthode.
int score = reciterTableDeMultiplication(); if (score > nbCorrecte){ nbCorrecte = score;
A la fin le chiffre 3 s'imprime 2 fois...