Como usar um tipo enum em java
A vida está cheia de pequenos conjuntos de possibilidades, e Java tem um recurso que pode ajudá-lo a lidar com essas possibilidades. O recurso Java é chamado de enum
Conteúdo
Video: Learn Java Tutorial for Beginners, Part 44: Enum
Considere quem pode ganhar um jogo de beisebol.
importação java.util.Scanner-import Scoreboard java.lang.System.out-classe estática {WhoWins enum {casa, visitante, nem}void main (args String []) public static {keyboard Scanner = new Scanner (System.in) -int hankees, socks- WhoWins que-out.print ("Hankees e meias pontuações? ") -hankees = keyboard.nextInt () - meias = keyboard.nextInt () - out.println () - if (hankees gt; meias) { que = WhoWins.home-out.println ("Os Hankees ganhar :-)") -} else if (meias gt; hankees) { que = WhoWins.visitor-out.println ("As Meias ganhar :-(")-} outro que = WhoWins.neither-out.println ("É um empate: -out.println () - out.println ("O jogo de hoje é trazido a você por") -out.println ("SnitSoft, o software número um") -out.println ("fornecedor na área de Hankeeville.") -out.println ("SnitSoft é destaque orgulhosamente em") -out.println ("Capítulo 6. E lembre-se, quatro") -out.println ("de cinco médicos recomendam") -out.println ("SnitSoft aos seus pacientes.") -out.println () - if (que == WhoWins.home) {Out.println ("Nós vencê-los bem. não foi?") -}if (que == WhoWins.visitor) {Out.println ("O árbitro fez uma injusta") -out.println ("ligar.") -} if (que == WhoWins.neither) {Out.println ("O jogo vai para a prorrogação.") -} keyboard.close () -}}
Eis o que acontece:
Video: Universidade XTI JAVA 046 Enumeração enum Constantes Java
Você criar uma variável para armazenar valores de tipoQuem ganha.
Video: Tutorial Java en Español - Capitulo 64 - Tipos Enumerados
Assim como a linha
double amount-
declara montante armazenar Duplo valores (valores como 5,95 e 30,95), a linha de
WhoWins que-
declara quem armazenar Quem ganha valores (como valores casa, Visitante, e nem).
Você atribui um valor ao quemvariável.
Você executar um dos
OMS = WhoWins.alguma coisa-
instruções de atribuição. A afirmação de que você executar depende do resultado do E se afirmações hankees gt; meias comparação.
que = casa- // Esta atribuição não funciona!
o compilador dá-lhe uma casa não pode ser resolvido para uma variável mensagem de erro. Isso é apenas o caminho enum tipos de trabalho.
Você compara o valor da variável com cada um dosQuem ganhavalores.
Em um E se declaração, você verificar o que == WhoWins.home condição. Nos restantes dois E se declarações, você verificar que o outro Quem ganha valores.
Perto do fim, você poderia ter feito sem enum valores. Você poderia ter testado coisas como hankees gt; meias uma segunda vez.
E se (hankees gt; meias) {Out.println ("Os Hankees ganhar :-)") -} // E mais tarde no programa ... if (hankees gt; meias) {Out.println ("Nós vencê-los bem. não foi?") -}
Mas essa tática seria desajeitado. Em um programa mais complicado, você pode acabar verificando hankees gt; meias uma dúzia de vezes. Seria como perguntar a mesma pergunta uma e outra vez.
Em vez de verificar repetidamente a hankees gt; meias condição, você armazenar o resultado do jogo como um valor de enumeração. Então você verificar o valor enum tantas vezes quanto quiser. Essa é uma maneira muito arrumado para resolver o problema verificando repetido.