Wie ein Aufzählungstyp in Java zu verwenden

Das Leben ist mit kleinen Mengen von Möglichkeiten gefüllt wird, und Java verfügt über eine Funktion, die Sie mit diesen Möglichkeiten umgehen können helfen. Die Java-Funktion aufgerufen wird ein enum Art. Es fängt mit Java Version 5.0 und weiter zur Verfügung.

Überlegen Sie, wer ein Baseball-Spiel gewinnen könnten.

bild0.jpg
Import java.util.Scanner-import static java.lang.System.out-Klasse-Anzeiger {Enum WhoWins {Hause, Besucher, weder}public static void main (String args []) {Scanner Tastatur = new Scanner (System.in) -int hankees, Socken- WhoWins WHO-out.print ( "Hankees und Socken Noten?") -hankees = keyboard.nextInt () - Socken = keyboard.nextInt () - out.println () - if (hankees> Socken) {die = WhoWins.home-out.println ( "The Hankees gewinnen :-)") -} else if (Socken> hankees) {die = WhoWins.visitor-out.println ( "Die Socken gewinnen :-(") -} else ") -out.println () - out.println (" Das heutige Spiel wird präsentiert von ") - out.println (" SnitSoft, die Nummer eins Software ") - out.println (" Anbieter im Hankeeville Bereich. ") - out.println (" SnitSoft ist stolz gekennzeichnet ") - out.println (" Kapitel 6. Und denken Sie daran, vier out ") - out.println ( "von fünf Ärzten empfohlen") - out.println ( "SnitSoft, um ihre Patienten.") - out.println () - if (die == WhoWins.home) {Out.println ( "Wir schlagen 'em gut Haben wir nicht.?") -}if (die == WhoWins.visitor) {Out.println ( "Der Schiedsrichter hat einen unfairen") - ( ". Call") out.println -} if (die == WhoWins.neither) {Out.println ( "Das Spiel geht in die Verlängerung.") -} Keyboard.close () -}}

Hier ist, was passiert:

  • Sie erstellen eine variable Werte des Typs zu speichern,Wer gewinnt.

    So wie die Linie

    Doppel in Höhe von

    erklärt Menge lagern doppelt Werte (Werte wie 5.95 und 30.95), die Linie

    WhoWins WHO-

    erklärt Wer lagern Wer gewinnt Werte (Werte wie Zuhause, Gast, und weder).

  • Sie weisen einen Wert der WerVariable.

    Sie führen eine der

    die = WhoWins.etwas-

    Zuweisungsanweisungen. Die Anweisung, die Sie ausführen, hängt von dem Ergebnis der ob Erklärung des hankees> Socken Vergleich.

    die = Home- // Diese Zuordnung funktioniert nicht!

    Der Compiler gibt Ihnen ein Hause kann nicht zu einer Variablen gelöst werden Fehlermeldung. Das ist halt so enum Typen arbeiten.

  • Sie vergleichen den Wert der Variablen mit jedem derWer gewinntWerte.

    In Eins ob Anweisung, Sie überprüfen die die == WhoWins.home Bedingung. In den verbleibenden zwei ob Aussagen, überprüfen Sie für die anderen Wer gewinnt Werte.

Am Ende könnte haben Sie getan, ohne enum Werte. Sie könnten Dinge getestet wie hankees> Socken ein zweites Mal.

ob (hankees> Socken) {Out.println ( "The Hankees gewinnen :-)") -} // Und später im Programm ... if (hankees> Socken) {Out.println ( "Wir schlagen 'em gut Haben wir nicht.?") -}

Aber diese Taktik wäre ungeschickt. In einem komplizierteren Programm können Sie am Ende überprüft hankees> Socken ein Dutzend Mal. Es wäre wie die gleiche Frage immer und immer wieder zu fragen.

Statt der immer wieder überprüft hankees> Socken Zustand, Sie speichern das Ergebnis des Spiels als ENUM-Wert. Dann überprüfen Sie die ENUM-Wert so oft wie Sie wollen. Das ist eine sehr ordentliche Weg, um die wiederholte Überprüfung Problem zu lösen.

Menü