Vidéo: JAVA (Intermédiaire) - 55 - Les énumérations en Java (Partie 1/7) 2024
La vie est remplie de petits ensembles de possibilités, et Java a une fonctionnalité qui peut vous aider à gérer ces possibilités. La fonction Java est appelée un type enum. Il est disponible à partir de Java version 5. 0 et suivantes.
Pensez à qui pourrait gagner un match de baseball.
importer java. util. Scanner; importer du java statique. lang. Système. en dehors; class Scoreboard { enum WhoWins {home, visiteur, ni} public static void principal (String args []) {Clavier du scanner = nouveau Scanner (System. hankees int, chaussettes; WhoWins qui; sorti. print ("scores de Hankees et de chaussettes?"); hankees = clavier. nextInt (); chaussettes = clavier. nextInt (); en dehors. println (); si (hankees> chaussettes) { who = WhoWins. maison; sorti. println ("Les Hankees gagnent: -)");} else if (chaussettes> hankees) { who = WhoWins. visiteur; sorti. println ("Les Socks gagnent: - (");} else { who = WhoWins., ni out.println ("C'est une cravate: - |");} out. println (); out. println ("Le jeu d'aujourd'hui vous est présenté par"), out.println ("SnitSoft, le logiciel numéro un"), out.println ("vendeur dans la région de Hankeeville"), out.println ("SnitSoft est présenté fièrement dans "); out.println (" Chapitre 6. Et rappelez-vous, quatre out "); out.println (" de cinq médecins recommandent "); out.println (" SnitSoft à leurs patients. "); out.println (); if (qui == WhoWins. Home) {out.println ("Nous les avons battus bien, n'est-ce pas?");} if (who == WhoWins. {out.println ("L'arbitre a fait une injustice"); out.println ("call.");} if (qui == WhoWins., Ni) {out.println ("Le jeu va en heures supplémentaires. ");} keyboard. close ();}} Voici ce qui se passe:
-
WhoWins . Tout comme la ligne
double montant;
déclare le montant à stocker des valeurs doubles (valeurs comme 5. 95 et 30. 95), la ligne
WhoWins who;
déclare qui stocker les valeurs WhoWins (valeurs comme home, visitor, et aucun).
Vous affectez une valeur à la variable
-
who . Vous exécutez l'un des
quelque chose ; déclarations d'affectation. L'instruction que vous exécutez dépend du résultat de la comparaison de hankees> socks de l'instruction if.
qui = la maison; // Cette assignation ne fonctionne pas!
le compilateur vous donne un accueil ne peut pas être résolu à un message d'erreur variable. C'est comme ça que fonctionnent les types enum.
Vous comparez la valeur de la variable avec chacune des valeurs
-
WhoWins .
Dans une instruction if, cochez la case who == WhoWins. état de la maison.Dans les deux instructions if restantes, vous vérifiez les autres valeurs WhoWins.Près de la fin, vous auriez pu faire sans valeurs enum. Vous pourriez avoir testé des choses comme hankees> chaussettes une deuxième fois.
if (
hankees> chaussettes ) {out. println ("Les Hankees gagnent: -)");} // Et plus tard dans le programme … if ( hankees> chaussettes ) {out. println ("Nous les avons battus bien, n'est-ce pas?");} Mais cette tactique serait maladroite. Dans un programme plus compliqué, vous pouvez vérifier les hanches> chaussettes une douzaine de fois. Ce serait comme si on posait la même question encore et encore.
Au lieu de vérifier à plusieurs reprises l'état des hanches> chaussettes, vous stockez le résultat du jeu en tant que valeur enum. Ensuite, vous vérifiez la valeur enum autant de fois que vous le souhaitez. C'est une façon très ordonnée de résoudre le problème de vérification répétée.