Comment utiliser un type d'énumération en java

La vie est remplie de petits ensembles de possibilités, et Java dispose d'une fonction qui peut vous aider à composer avec ces possibilités. La fonction Java est appelé ENUM taper. Il est disponible en commençant par Java version 5.0 et au-delà.

Déterminez qui pourrait gagner un match de baseball.

image0.jpg
import-import java.util.Scanner statique java.lang.System.out classe tableau de bord { WhoWins enum {maison, visiteur, ni}void main (String args []) {public static Scanner clavier = new Scanner (System.in) -int hankees, Collant-WhoWins OMSout.print ("Hankees et chaussettes scores?") -hankees = keyboard.nextInt () - chaussettes = keyboard.nextInt () - out.println () - le cas (hankees> chaussettes) {  qui = WhoWins.home-out.println ("Les Hankees gagner :-)") -} else if (chaussettes> hankees) {  qui = WhoWins.visitor-out.println ("Les Chaussettes gagner :-(") -} else   qui = WhoWins.neither-out.println ("Il est un lien: -out.println () - out.println (" Le match d'aujourd'hui vous est présenté par ") - out.println (" SnitSoft, le logiciel numéro un ") - out.println (" fournisseur dans le domaine Hankeeville ") - de out.println (". SnitSoft est sélectionnée fièrement ") - out.println (" Chapitre 6. Et rappelez-vous, quatre ") - out.println (" de cinq médecins conseillent ") - out.println ("SnitSoft à leurs patients.") - out.println () -if (qui == WhoWins.home) {out.println ("Nous avons battu 'em bonne Avons-nous pas.?") -}if (qui == WhoWins.visitor) {out.println ("L'arbitre a fait une injuste») - (". appel") out.println -}  if (qui == WhoWins.neither) {out.println ("Le jeu va en prolongation.") -} keyboard.close () -}}

Voici ce qui arrive:

  • Vous créez une variable pour stocker les valeurs de typeQui a gagné.

    Tout comme la ligne

    à double amount-



    déclare montant ranger double valeurs (valeurs comme 5.95 et 30.95), la ligne

    WhoWins OMS

    déclare qui ranger Qui a gagné valeurs (valeurs comme domicile, visiteur, et ni).

  • Vous affectez une valeur à la qui variable.

    Vous exécutez l'un des

    qui = WhoWins.quelque chose-

    déclarations d'affectation. La déclaration que vous exécutez dépend de l'issue de la si La déclaration de hankees> chaussettes la comparaison.

    qui = domicile // Cette mission ne fonctionne pas!

    le compilateur vous donne un la maison ne peut être résolu à une variable Message d'erreur. Cela est juste la manière ENUM types travaillent.

  • On compare la valeur de la variable à chacun de laQui a gagnédes valeurs.

    Dans une si déclaration, vous cochez la qui == WhoWins.home état. Dans les deux autres si déclarations, vous vérifier pour l'autre Qui a gagné des valeurs.

Vers la fin, vous auriez pu faire sans ENUM des valeurs. Vous pourriez avoir testé des choses comme hankees> chaussettes une deuxième fois.

if (hankees> chaussettes) {Out.println ("Le Hankees gagner :-)") -} // Et plus tard dans le programme ... si (hankees> chaussettes) {Out.println ("Nous avons battu 'em bonne Avons-nous pas.?") -}

Mais cette tactique serait maladroit. Dans un programme plus compliqué, vous pouvez vous retrouver vérifier hankees> chaussettes une douzaine de fois. Ce serait comme demander la même question encore et encore.

Au lieu de vérifier plusieurs fois la hankees> chaussettes état, vous stockez le résultat du jeu comme une valeur d'énumération. Ensuite, vous vérifiez la valeur d'énumération autant de fois que vous le souhaitez. Voilà une façon très ordonnée pour résoudre le problème de vérification répétée.


» » » » Comment utiliser un type d'énumération en java