Autor Tema: Ejercicio curso Java tipos enumerados como si fueran una clase CU00682B  (Leído 3426 veces)

ronal.d87

  • Principiante
  • **
  • Mensajes: 72
    • Ver Perfil
Hola a todos, he aqui el desarrollo del ejercicio.

clase TipoPiedra

Código: [Seleccionar]

package ejemplo;
/**
 * @author Ronald Mosquera
 */
//clase tipo enum
public enum TipoPiedra {
    CALIZA ("Caliza",1200),
    MARMOL ("Marmol", (float) 1423.55),
    PIZARRA ("Pizarra",1325),
    CUARZITA ("Cuarzita",(float) 1466.22);
   
    private final String piedra ;
    private final float peso;
   
    //metodo constructor
    TipoPiedra(String piedra, float peso){
        this.piedra=piedra;
        this.peso=peso;
    }
   
    public String getPiedra(){
        return piedra;
    }
    public float getPeso(){
        return peso;
    }   
}


clase TestPiedra

Código: [Seleccionar]
package ejemplo;

/**
 * @author Ronald Mosquera
 */
public class TestPiedra {
   
    public static void main(String [] args){
       
        TipoPiedra tipoPiedra = TipoPiedra.CALIZA;
         System.out.println ("La piedra elegida por el usuario es " + tipoPiedra.getPiedra()
                 + "\ncon un peso especifico ");         
         
         for (TipoPiedra tpiedra: TipoPiedra.values() ) {
             System.out.println ("La piedra "+tpiedra.toString() + " el palet pesa "+tpiedra.getPeso() +" kg");
        }
    }   
}

« Última modificación: 14 de Agosto 2015, 15:18 por Alex Rodríguez »
Ronald Mosquera Mancilla

RaGa

  • Moderador Global
  • Intermedio
  • *******
  • APR2.COM
  • Mensajes: 234
    • Ver Perfil
Re:EJERCICIO CU00682B REALIZADO
« Respuesta #1 en: 12 de Agosto 2015, 16:50 »
Hola Ronald:

Estuve revisando tu ejercicio y está bien, pero tendríamos que revisar algunas cosas.

Respecto de la clase TipoPiedra:
No es necesario declarar un campo nombre, ya que podemos utilizar el objeto mismo cuando se requiera representar el nombre de las distintas piedras. Esto se hace utilizando el método toString() sobre el objeto tipo TipoPiedra.
Por otro lado, el campo peso que declaras sería mejor bautizarlo como pesoEspecifico ya que es lo que representa. Además al momento de asignarle su valor puedes utilizar la letra 'f' como sufijo del número para indicar al compilador que se trata de un tipo float y no de un tipo double.

Código: [Seleccionar]

package ejemplo;
/**
 * @author Ronald Mosquera
 */
//clase tipo enum
public enum TipoPiedra {
    CALIZA (1200f),
    MARMOL (1423.55f),
    PIZARRA (1325f),
    CUARZITA (1466.22f);
   
    private final float pesoEspecifico;
   
    //metodo constructor
    TipoPiedra(float pesoEspecifico){
        this.pesoEspecifico=pesoEspecifico;
    }
   
    public float getPesoEspecifico(){
        return pesoEspecifico;
    }   
}


Respecto de la clase TestPiedra:
Aquí utilizamos el método toString() sobre el objeto tipo TipoPiedra para imprimir por consola el nombre de la piedra (como lo indicábamos anteriormente).
Fíjate que también habría que hacer una pequeña operación matemática de multiplicación para saber cuánto pesan los distintos palet.

Código: [Seleccionar]

package ejemplo;
/**
 * @author Ronald Mosquera
 */
public class TestPiedra {
   
    public static void main(String [] args){
       
        TipoPiedra tipoPiedra = TipoPiedra.CALIZA;
         System.out.println ("\fLa piedra elegida por el usuario es " + tipoPiedra.toString()
                 + "\ncon un peso especifico de " + tipoPiedra.getPesoEspecifico() +" kg/m3" + "\n");         
         
         for (TipoPiedra tpiedra: TipoPiedra.values() ) {
             System.out.println ("Un palet de piedra " + tpiedra.toString() + " pesa " + 2.27*tpiedra.getPesoEspecifico() +" kg");
        }
    }   
}


Analízalo y cualquier duda lo seguimos analizando.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".