Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Enzo en 17 de Noviembre 2015, 18:09
-
Hola,
Adjunto mi ejercicio del tema "CU00682B clases enum enumerado java ejercicio ejemplo resuelto metodo values" para su corrección:
Objeto de Tipo Enumerado:
// EJERCICIO DE UNA CLASE INDEPENDIENTE TIPO ENUMERADO
// ----> CU00682B clases enum enumerado java ejercicio ejemplo resuelto metodo values.pdf
/**
* Ejercicio de una Clase tipo Enum (Tipo Enumerado)<br>
* Contiene la definición de los enumerados, de los campos asociados a cada enumerado
* y los tipos y valores de estos campos, constructor intrínseco y métodos para acceder a los campos.<br>
* CU00682B clases enum enumerado java ejercicio ejemplo resuelto metodo values.pdf
* @author Lorenzo Fernández Asensio
* @version 20151117.01
*/
// Clase que contiene los tipos de piedra y su peso específico en kg/m3
public enum TipoDePiedraConDetal_CU00682B {
CALIZA (1200f), //Separamos con comas
MARMOL (1423.55f),
PIZARRA(1325f),
CUARZITA (1466.22f); //Cuando terminamos cerramos con ;
//Campo tipo constante
private final float pesoEspecifico; //Peso específico de la piedra
/**
* Constructor. Al asignarle uno de los valores posibles a una variable del tipo enumerado
* el constructor asigna automáticamente valores del campo pesoEspecifico
*/
TipoDePiedraConDetal_CU00682B (float pesoEspecifico) {
this.pesoEspecifico = pesoEspecifico;
} //Cierre del constructor
//Método de la clase tipo Enum
/**
* Método para obtener el Peso Especifico del valor asignado
* @return El Peso Especifico del valor asignado
*/
public float getPesoEspecifico() { return pesoEspecifico; }
} //Cierre del enum
Test de Prueba:
// EJEMPLO DE TRABAJO CON UNA CLASE INDEPENDIENTE TIPO ENUMERADO CON DETALLE
// ----> CU00682B clases enum enumerado java ejercicio ejemplo resuelto metodo values.pdf
/**
* Esta clase prueba una clase de tipo Enum con Detalle<br>
* Usa la clase de tipo Enum y sus métodos.<br>
* CU00682B clases enum enumerado java ejercicio ejemplo resuelto metodo values.pdf
* @author Lorenzo Fernández Asensio
* @version 20151117.01
*/
public class TestPiedraEnumConDetal_CU00682B {
public static void main (String[ ] Args) {
// Creación e Identificación de un Objeto Tipo Enumerado
TipoDePiedraConDetal_CU00682B piedra = TipoDePiedraConDetal_CU00682B.MARMOL;
// Inicialización de una variable con 2 Tabulaciones para hacer un listado
String tabulador = "\t\t";
// Se limpia la pantalla de la Consola
System.out.println("\f");
// Se muestra en pantalla un mensaje con el peso de los palets de cada uno de los tipos de piedra.
System.out.println ("Un Palet admite 1.15 m3 de volumen. Relación del peso de los palets según las distintas piedras:");
System.out.println ("PIEDRA"+ tabulador + "PESO DEL PALET");
System.out.println ("------"+ tabulador + "--------------");
// Bucle para mostrar el contenido de la clase Enum TipoDeMaderaConDetal_CU00682B
for (TipoDePiedraConDetal_CU00682B tmp: TipoDePiedraConDetal_CU00682B.values() ) {
// Se comprueba si el nombre de la piedra contiene mas de 7 caracteres
if (tmp.toString().length() > 7){
// Si el nombre contiene mas de 7 caracteres se pone solo una tabulación
tabulador = "\t";
} else {
// Si el nombre contiene menos de 7 caracteres se ponen dos tabulaciones
tabulador = "\t\t";
} // Fin de la comprobación del nº de caracteres
// Se muestra en pantalla la piedra y el peso del Palet
System.out.print (tmp.toString() + tabulador + (1.15f*(float)tmp.getPesoEspecifico() ) + " kg");
System.out.println (tmp.toString().length());
} // Fin del bucle para mostrar las piedras y el peso del Palet
} //Cierre del main
} //Cierre de la clase
Espero vuestros comentarios,
Muchas Gracias,
Saludos,
-
Hola Enzo
Lo veo todo bien aunque aparece un número extraño detrás del peso
PIEDRA PESO DEL PALET
------ --------------
CALIZA 1380.0 kg6
MARMOL 1637.0825 kg6
PIZARRA 1523.75 kg7
CUARZITA 1686.153 kg8
Para corregirlo basta cambiar la línea System.out.println (tmp.toString().length()); y dejarla simplemente como System.out.println("");
Saludos
-
Hola Alex,
Tienes toda la razón. Eso me pasa por correr.
Es una línea que no debería estar. Esta ahí por las pruebas que estuve haciendo para tabular. Y se me olvido borrarla después. Lo siento.
Muchas Gracias,
Un Saludo,