Autor Tema: Java ejemplo dar formato a salida por consola espacios String.format CU00682B  (Leído 2535 veces)

paramonso

  • Intermedio
  • ***
  • Mensajes: 241
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
Hola. Dejo el Ejercicio  CU00682B del tutorial pdf de programación Java de aprenderaprogramar .Enumerados como clases Enum en Java. Constructores. Método values.

Citar
EJERCICIO

Declara una clase que represente el tipo enumerado que define tipos de piedra con los valores CALIZA, MARMOL, PIZARRA, CUARZITA. Si sus pesos específicos son de 1200, 1423.55, 1325 y 1466.22, crea un programa que muestre el peso de los palets de cada uno de los tipos de piedra. Puedes comprobar si tu código es correcto consultando en los foros aprenderaprogramar.com.


clase main TestTiposDePiedra

Código: [Seleccionar]
import java.io.*;
/**
 *   TestTiposDePiedra

 *
 * @author (paramonso)
 * @version (1.0 // 12/10/2018)
 */
//Ejemplo aprenderaprogramar.com
public class TestTiposDePiedra {
    public static void main (String[ ] Args) {
        String patron ,resultado ;
        TiposDePiedra miTiposDePiedra = TiposDePiedra.CALIZA; //El tipo lo definimos en otra clase como public enum
        System.out.println ("Las piedras del catalogo son : ");
        System.out.println ("Tipo Piedra    \t  Color\t\tPeso especifico\t\t  ");//Ejemplo de uso de print con tabulador \t
        patron="  %s\t %s    %12s\n"; 
        for (TiposDePiedra tmp: miTiposDePiedra.values() ) {
            resultado = String.format(patron,tmp.toString(),tmp.getTipo(),tmp.getPesoEspecifico());
            System.out.print(resultado);
        }
           
        pause();//Pausar pantalla
     
        TiposDePiedra tiposPiedra = TiposDePiedra.MARMOL;
        System.out.println ("\nLa piedra elegida por el sistema es " +tiposPiedra.toString() +
        " con un color " +tiposPiedra.getTipo() + "\ny con un peso específico de " +tiposPiedra.getPesoEspecifico() + " kg/m3");
        System.out.println ("Un palet admite 3.15 m3 de volumen.\n\n A continuación el peso de los palets de las distintas piedras:");
        for (TiposDePiedra tmp: TiposDePiedra.values() ) {
            System.out.println (" el palet de "+tmp.toString() + " pesa 3.15  x  " +tmp.getPesoEspecifico()+"\t="+ (3.15f*(float)tmp.getPesoEspecifico() ) + " kg");
        }
       
    } //Cierre del main
    //Pausar pantalla
   
    public static void pause(){
        int  inChar;
        inChar=0;
        System.out.println("\nPulse Enter para continuar...");
        try {
            inChar = System.in.read();
           
        }
        catch (IOException e){
            System.out.println("Error reading from user");
        }
        System.out.print("\u000C");
    }
} //Cierre de la clase

Clase TiposDePiedra
Código: [Seleccionar]
/**
 * Enumeration class TiposDePiedra - write a description of the enum class here
 *
 * @author (paramonso)
 * @version (1.1 // 12/10/2018)
 */
public enum TiposDePiedra
{
     
    CALIZA  ("Apomazado ",1200.00), //Separamos con comas
    MARMOL  ("Crema      ", 1423.55),
    PIZARRA ("Multicolor", 1325.00),
    CUARZITA("Gris       ", 1466.22);
     
    //Campos tipo constante
    private final String tipo; //Color de la piedra
    private final double 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 de los campos
     */
    TiposDePiedra (String tipo, double pesoEspecifico) {
        this.tipo = tipo;
        this.pesoEspecifico = pesoEspecifico;
    } //Cierre del constructor
    //Métodos de la clase tipo Enum
    public String getTipo() { return tipo; }

    public double getPesoEspecifico() { return pesoEspecifico; }
}

Gracias  ;).
« Última modificación: 05 de Agosto 2019, 21:48 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas, para quien revise este ejercicio, funciona correctamente, si bien se utilizan herramientas de programación que no se han explicado en el curso (como try-catch ó String.format), por lo que si se quiere ver una respuesta que se ciñe a los contenidos del curso puede consultarse https://aprenderaprogramar.com/foros/index.php?topic=2353.0

Salu2

 

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".