Cómo utilizar un tipo de enumeración en java
La vida está llena de pequeños conjuntos de posibilidades, y Java tiene una característica que puede ayudarle a lidiar con estas posibilidades. La función de Java se denomina enum escribe. Está disponible a partir de la versión de Java 5.0 en adelante.
Considere que podía ganar un partido de béisbol.
importación java.util.Scanner-importación estática de clase java.lang.System.out Marcador { WhoWins enum {hogar, visitante, ni}static void main (String args []) {públicas teclado Scanner = new Scanner (System.in) -INT hankees, calcetines-WhoWins que-out.print ("puntuaciones Hankees y calcetines?") -hankees = keyboard.nextInt () - calcetines = keyboard.nextInt () - out.println () - if (hankees> calcetines) { quien = WhoWins.home-out.println ("Los Hankees ganan :-)") -} else if (calcetines> hankees) { quien = WhoWins.visitor-out.println ("Los Calcetines ganan :-(") -} else quien = WhoWins.neither-out.println ("Es un empate: -out.println () - out.println (" El juego de hoy es traído a usted por ") - out.println (" SnitSoft, el software número uno ") - out.println (" proveedor en el área Hankeeville ") - out.println (". SnitSoft se ofrece con orgullo en ") - out.println (" Capítulo 6. Y recuerda, cuatro ") - out.println (" de cinco doctores recomiendan ") - out.println ("SnitSoft a sus pacientes.") - out.println () -si (quien == WhoWins.home) {out.println ("Le ganamos a ellos buena ¿No hemos.?") -}si (quien == WhoWins.visitor) {out.println ("El juez hizo una injusta") - (. "llamada") out.println -} si (quien == WhoWins.neither) {out.println ("El juego va a tiempo extra.") -} keyboard.close () -}}
Esto es lo que sucede:
Se crea una variable para almacenar valores de tipoQuien gana.
Al igual que la línea
doble cantidad-
declara cantidad Almacenar doble valores (valores como 5,95 y 30,95), la línea
WhoWins que-
declara quien Almacenar Quien gana valores (valores como casa, visitante, y ninguno).
Se asigna un valor a la quien variable.
Ejecuta una de las
quien = WhoWins.algo-
instrucciones de asignación. El comando que se ejecuta depende de los resultados de la si la declaración de hankees> calcetines comparación.
quien = casa- // Esta asignación no funciona!
el compilador le da una en casa no se puede resolver a una variable mensaje de error. Eso es sólo la forma enum tipos de trabajo.
Se trata de comparar el valor de la variable con cada uno de losQuien ganalos valores.
En uno si declaración, usted comprueba la quien == WhoWins.home condición. En los dos restantes si declaraciones, devolver a la salida para el otro Quien gana los valores.
Cerca del final, que podría haber hecho sin enum los valores. Podrías haber probado cosas como hankees> calcetines un segundo tiempo.
si (hankees> calcetines) {Out.println ("El Hankees ganar :-)") -} // Y más tarde en el programa ... si (hankees> calcetines) {Out.println ("Le ganamos a ellos buena ¿No hemos.?") -}
Pero esa táctica sería torpe. En un programa más complicado, que puede terminar la comprobación hankees> calcetines una docena de veces. Sería como hacer la misma pregunta una y otra vez.
En lugar de comprobar en repetidas ocasiones la hankees> calcetines condición, almacenar el resultado del juego como un valor de enumeración. Luego de comprobar el valor de enumeración tantas veces como quieras. Esa es una forma muy ordenada para resolver el problema de la comprobación repetida.