Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Lorenzo31 en 09 de Abril 2015, 17:00

Título: CU00682B Enumerados como clases Enum en Java. Constructores. Método values
Publicado por: Lorenzo31 en 09 de Abril 2015, 17:00
Buenas tardes, aquí dejo mi ejercicio resuelto

Clase Enum TipoPiedra

Código: [Seleccionar]

/**
 * Enumeration class Piedras - Esta clase contiene los tipos de piedra y sus pesos especificos.
 *
 * @author Lorenzo31
 * @version 09-04-2015
 */

public enum TipoPiedra {

    CALIZA (1200f),

    MARMOL (1423.55f),

    PIZARRA (1325f),

    CUARZITA (1466.22f);

    private final float peso;

    TipoPiedra(float valorPeso) { peso = valorPeso; }

    public float getPeso() { return peso; }
   
    /**
     * Funcion que @return un float y calcula el peso de un palet fijandose en el peso unitario
     * y multiplicandolo por 2.27 que se daba por supuesto en el ejercicio anterior, era un palet
     */
    public float getPesoPalet() { return 2.27f * peso; }

}

Clase Main GestorPiedra

Código: [Seleccionar]
/**
 * Clase Main que recorre los tipos de Enumerados declarados en Enum TipoPiedra
 * @Author Lorenzo31
 */

public class GestorPiedra {
   
    public static void main (String [] args){
       
        System.out.println("Iniciamos el programa ");
       
       System.out.println(" TIPO PIEDRA \t PESO M3 \t PESO TOTAL PALET");
       
        for(TipoPiedra tmp: TipoPiedra.values()){
        System.out.println(tmp.toString()  + "\t \t" + tmp.getPeso() + "kg \t \t" + tmp.getPesoPalet() + "kg" );
    }
    }
}
Título: Re:CU00682B Enumerados como clases Enum en Java. Constructores. Método values
Publicado por: Alex Rodríguez en 10 de Abril 2015, 00:55
Hola Lorenzo, todo está bien así que nada que comentar. Has usado float para datos numéricos decimales. Es más habitual usar double, pero es el programador quien decide si usa float o double según considere más oportuno.

Saludos
Título: Re:CU00682B Enumerados como clases Enum en Java. Constructores. Método values
Publicado por: Lorenzo31 en 10 de Abril 2015, 01:17
Gracias, tuve una duda al realizar el ejercicio, el caso es que al final cuando printo los datos del for each, el nombre del enum tmp.toString(), se me printaba exactamente igual con tmp solo (solo la variable creada, imagino que java transforma en String por defecto pero prefiero preguntar).
Título: Re:CU00682B Enumerados como clases Enum en Java. Constructores. Método values
Publicado por: Alex Rodríguez en 10 de Abril 2015, 10:15
Sí, cuando se hace System.out.println(tmp) Java lo transforma automáticamente en System.out.println(tmp.toString())

Podemos escribir o no el toString o no según prefiramos.

Saludos