Cette méthode est supposée calculer la moyenne des scores obtenus et renvoyer la note en conséquence.
Comment puis-je passer la note du commutateur () au calcul () de sorte qu'il puisse renvoyer la bonne note? Je sais comment le faire sans commutateur (), mais je pense que pourrait être fait de cette façon aussi.
plz dis-moi ce que je manque? p> p>
4 Réponses :
Depuis que vous avez couvert tous les cas avec la déclaration de commutation et que vous retournez immédiatement pour chacun d'eux, vous ne devriez rien y arriver, vous n'atteindrez jamais cette partie du code. Dans le code que vous avez actuellement l'instruction code> code> est également inutile car il ne sera jamais atteint dans aucun des cas, car une fois de plus, il est anticipé par une déclaration de retour. P>
Vous pouvez modifier votre code un peu si vous souhaitez renvoyer la valeur une fois à la fin en stockant le résultat du boîtier de commutation dans une variable définie précédemment et en renvoyant celui-ci à la fin. P>
Eh bien, il ne compilera pas sans valeur de retour factice. Lorsque le compilateur ne détecte pas que toutes les valeurs possibles déjà couvertes (il se plaindre d'un retour manquant!). Donc, l'OP a besoin juste de ST. faire taire le compilateur.
Si vous changez votre dernier cas code> sur plus largement parlant, votre Je pense qu'il est un moyen plus facile d'exprimer cette logique. Il ressemble à remarque La dernière instruction est juste par défaut code> au lieu d'une valeur réelle, il éliminerait la nécessité de retourner quoi que ce soit après la déclaration code> (code> . si code> Les instructions à l'intérieur de chaque case code> sont suspectes. Comment peut-on grade == 1 code> et grade> = 90 code>? Le seul qui pourrait éventuellement fonctionner est le cas 6 depuis 6, il est également <40. Vous essayez d'utiliser 1-6 comme une sorte d'étiquette logique, mais en réalité, la JVM comparait la valeur de grade code > À ces chiffres pour décider de l'exécution de cas. P> grade code> sera leur niveau numérique (c'est-à-dire entre 0 et 100 mais en théorie, il pourrait également être négatif), donc je saisirais la déclaration code> Switch Code>. / else: p> sinon code> sans condition. Cela permet de fonctionner comme le cas de par défaut code> dans un (code> Switch code> Déclaration: Il attrapera une valeur qui ne répondra pas aux autres critères. P> P>
Concernant votre question:
commutateur code> avec par défaut code> clause
et retourner la valeur par défaut là-bas. LI>
- Il n'est pas nécessaire d'utiliser
Break CODE> STÉTENTIONS, puisque vous utilisez
retour code> sur chaque cas li>
ul> Également, si vous vous limitez à utiliser uniquement le commutateur code>, il s'agit d'un moyen plus simple d'atteindre votre objectif: p> xxx pré> / p>
Dans votre interrupteur, vous sautez sur les différentes pièces vérifiant si Mais vous n'avez pas besoin d'un commutateur, vous pouvez simplement utiliser une série de Et assurez-vous de couvrir le cas lorsque Grade code> est 1, 2, 3, etc. Mais vous le comparez à des valeurs de 0 à 100? Cela ne peut jamais fonctionner. si code> instructions p> compte code> est 0, je ne l'ai pas fait ici, car je ne sais pas ce qui devrait être le résultat. P> P>
Si vous faites correspondre le cas
(1) code> lors de la commutation surgrade code>, alorsgrade == 1 code>, donc ce n'est pas> = 90 code>. Je pense que vous obtenez un peu confus.Retour simple de la valeur nominale là-bas - Peu importe quoi - juste pour faire taire le compilateur. (Le compilateur ne détecte pas, que la ligne est inaccessible)