Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: paramonso en 12 de Octubre 2018, 19:41

Título: Java ejemplo dar formato a salida por consola espacios String.format CU00682B
Publicado por: paramonso en 12 de Octubre 2018, 19:41
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  ;).
Título: Re:Java ejemplo dar formato a salida por consola espacios String.format CU00682B
Publicado por: Ogramar en 05 de Agosto 2019, 21:49
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