Video: Android 101 by Fred Widjaja 2025
Livet er fyldt med små sæt muligheder, og Java har en funktion, der kan hjælpe dig med at håndtere disse muligheder. Java-funktionen hedder en enumtype. Den er tilgængelig med Java version 5. 0 og videre.
Overvej hvem der kan vinde et baseballspil.
importer java. util. Scanner; importer statisk java. Lang. System. ud; klasse scoreboard { enum WhoWins {hjem, besøgende, hverken} offentlig statisk tomgang hoved (String args []) {Scanner keyboard = ny scanner (System. int hankees, sokker; Hvem vinder hvem; ud. print ("Hankees and Socks scores?"); hankees = tastatur. nextInt (); sokker = tastatur. nextInt (); ud. println (); hvis (hankees> strømper) { hvem = WhoWins. hjem; ud. println ("The Hankees win: -)";} else if (sokker> hankees) { who = WhoWins. besøgende; ud. println ("The Socks win: - ("); ellers { hvem = WhoWins. neither; out. println ("Det er et slips: - |");} out. println (); println ("Dagens spil er bragt til dig af"); out. println ("SnitSoft, nummer 1 software"); out. println ("leverandør i Hankeeville området."); out. println ("SnitSoft er præsenteret stolt i "); ud. println (" kapitel 6. og husk, fire ud "); out. println (" af fem læger anbefaler "); out. println (" SnitSoft til deres patienter. "); out. println hvis (hvem == WhoWins. Home) {out. Println ("Vi slog dem godt. Ikke vi?");} hvis (hvem == WhoWins. Besøgende) < {out. Println ("Dommeren gjorde et uretfærdigt"); ud. Println ("call.");} hvis (hvem == WhoWins. Neither) {out. Println går i overarbejde. ");} tastatur. close ();}} Her er hvad der sker:
-
WhoWins . Ligesom linjen
dobbeltbeløb;
erklærer mængden at lagre dobbeltværdier (værdier som 5. 95 og 30. 95) linjen
WhoWins who;
erklærer hvem der skal gemme WhoWins værdier (værdier som hjemme, besøgende og hverken).
Du tildeler en værdi til variablen
-
som . Du udfører en af
noget ; opgaveopgørelser. Erklæringen, du udfører, afhænger af resultatet af if-sætningen er hankees> sokker sammenligning.
hvem = hjemme; // Denne opgave virker ikke!
kompilatoren giver dig et hjem kan ikke løses til en variabel fejlmeddelelse. Det er bare den måde, som enum typer arbejder.
Du sammenligner værdien af variablen med hver af værdierne
-
WhoWins .
I en hvis erklæring, skal du tjekke hvem == WhoWins. hjem tilstand.I de resterende to hvis udsagn kontrollerer du de andre WhoWins værdier.I nærheden af slutningen kunne du have gjort uden enum værdier. Du kunne have testet ting som hankees> strømper en anden gang.
hvis (
hankees> sokker ) {out. println ("The Hankees win: -)";} // Og senere i programmet … hvis ( hankees> sokker ) {out. println ("Vi slog dem godt. Ikke vi?");} Men den taktik ville være klodset. I et mere kompliceret program kan du ende med at tjekke hankees> strømper et dusin gange. Det ville være som at stille det samme spørgsmål igen og igen.
I stedet for gentagne gange at kontrollere hankees> sokker tilstand gemmer du spilets resultat som en enum værdi. Så kontrollerer du enumværdien så mange gange som du vil. Det er en meget ryddelig måde at løse det gentagne kontrolproblem på.