Seguidores

MIS WEBS



sábado, 23 de diciembre de 2017

GENERAR ENUMERADOS CON JAVA

CLASS ENUM 




La utilizaremos para declarar una variable donde acumularemos una serie de posibles valores, por lo que cuando la deseamos utilizar para almacenar un dato tan solo podrá ser uno de los predefinidos por nosotros.

Ejemplo.
1.       Imaginemos que deseamos guardar los meses del año en una variable de forma que cuando la utilicemos no poda tener otro tipo de datos como pueda ser “otoño”, “primavera”… Para realizar esta operación en primer lugar llamaremos al constructor de Enum,  lo tenemos que hacer fuera del método main, y cargaremos los diferentes valores de nuestra variable. Si creamos un constructor siempre será private.

Enum MesesAño{
Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiemble,Octubre,Noviembre,Diciembre; }

2.       Cuando necesitemos utilizar nuestra variable dentro del método main tan solo podemos almacenar los datos preseleccionados en la clase Enum.


public static void main(String[] args) {
         MesesAño [] mes= new MesesAño[12];
        
         mes[0]= MesesAño.Enero;
         mes[1]= MesesAño.Febrero;
         mes[2]= MesesAño.Marzo;
     }

Por lo que MesesAño pasa a ser una subclase de enum en la existen una serie de valores predefinidos por nosotros.

Método ValueOf(): Regresa el nombre de la constante enumerada.
Método toUperCase(): modifica lo introducido pasándolo a mayúsculas.



package UsoEnum;

import javax.swing.JOptionPane;

public class MesesAño {

//Creamos enumerado MesAños
enum MesesAños{

ENERO("1"), FEBRERO("2"), MARZO("3"), ABRIL("4"), MAYO("5"), JUNIO("6"), JULIO("7"), AGOSTO("8"), SEPTIEMBRE("9"), OCTUBRE("10"),NOBIEMBRE("11"), DICIEMBRE("12");
    
//CONSTRUCTOR PASANDO POR PARAMETROS     
     private MesesAños(String num){this.num =num;}

     private String num;
//método Getter
     public String Get_Regresa_Datos() {return num;}
         }   
//_________________________________________________
Método main

     public static void main(String[] args) {

//toUperCase(): modifica lo introducido pasándolo a mayusculas
String  n = JOptionPane.showInputDialog("intorduce un mes").toUpperCase();

//valueOf(clase, enum guardado)
MesesAños mes= Enum.valueOf(MesesAños.class, n);
        
         System.out.println(mes.Get_Regresa_Datos());

     }
}

No hay comentarios:

Publicar un comentario

Buscar este blog

Sandisk y Western Digital