22
« en: 12 de Octubre 2019, 22:08 »
Saludos. A quien le interese compartir opiniones expongo el planteamiento de mi solución para el ejercicio CU00687B del tutorial de programador Java. Espero comentarios
package agroalimentaria;
import java.util.Calendar;
import java.util.Formatter;
import java.util.GregorianCalendar;
import com.aprenderaprogramar.GestionarEntrada;
public class Productos {
private Calendar fechaDeCaducidad = new GregorianCalendar();
private int numeroDeLote;
private Calendar fechaDeEnvazado = Calendar.getInstance();
private String paisDeOrigen;
private GestionarEntrada anio, mes, dia, textoIngresado;
private Formatter fmt;
private String descripcionProducto;
public Productos() {
setDescripcionProducto();
setFechaDeCaducidad();
setNumeroDeLote();
setFechaDeEnvazado();
setPaisDeOrigen();
}
public String getDescripcionProducto() {
return descripcionProducto;
}
public void setDescripcionProducto() {
System.out.print("Ingrese el nombre del producto: ");
textoIngresado = new GestionarEntrada();
System.out.println();
this.descripcionProducto = textoIngresado.getEntrada();
}
public int getNumeroDeLote() {
return numeroDeLote;
}
public void setNumeroDeLote() {
System.out.print("Ingrese el numero de lote: ");
textoIngresado = new GestionarEntrada();
System.out.println();
this.numeroDeLote = Integer.valueOf(textoIngresado.getEntrada());
}
public String getFechaDeCaducidad() {
//return fechaDeCaducidad.get(Calendar.YEAR)+"-"+fechaDeCaducidad.get(Calendar.MONTH)+"-"+fechaDeCaducidad.get(Calendar.DAY_OF_MONTH);
fmt = new Formatter();
return fechaDeCaducidad.get(Calendar.DAY_OF_MONTH) + "-" + fmt.format("%tB", fechaDeCaducidad) +"-"+ fechaDeCaducidad.get(Calendar.YEAR);
}
public void setFechaDeCaducidad() {
System.out.println("Ingresando datos de la fecha de caducidad: ");
SolicitaFecha();
this.fechaDeCaducidad.set(Integer.valueOf(anio.getEntrada()), Integer.valueOf(mes.getEntrada())-1, Integer.valueOf(dia.getEntrada()));
//this.fechaDeCaducidad.set(fechaDeCaducidad.get(Calendar.YEAR), fechaDeCaducidad.get(Calendar.MONTH), fechaDeCaducidad.get(Calendar.DAY_OF_MONTH));
}
public String getFechaDeEnvazado() {
fmt = new Formatter();
//return this.fechaDeEnvazado.getTime();
return fechaDeEnvazado.get(Calendar.DAY_OF_MONTH) + "-" + fmt.format("%tB", fechaDeEnvazado) +"-"+ fechaDeEnvazado.get(Calendar.YEAR);
}
public void setFechaDeEnvazado() {
System.out.println("Ingresando datos de la fecha de envazado: ");
SolicitaFecha();
this.fechaDeEnvazado.set(Integer.valueOf(anio.getEntrada()), Integer.valueOf(mes.getEntrada())-1, Integer.valueOf(dia.getEntrada()));
}
public String getPaisDeOrigen() {
return paisDeOrigen;
}
public void setPaisDeOrigen() {
System.out.print("Ingrese el país de Origen: ");
textoIngresado = new GestionarEntrada();
System.out.println();
this.paisDeOrigen = textoIngresado.getEntrada();
}
public void SolicitaFecha() {
System.out.print("Ingrese el año: ");
anio = new GestionarEntrada();
System.out.print("Ingrese el mes: ");
mes = new GestionarEntrada();
System.out.print("Ingrese el día: ");
dia = new GestionarEntrada();
System.out.println();
}
public void mostrarInformacionComun() {
System.out.println("El item: " + getDescripcionProducto() + " es de origen: " + paisDeOrigen + ", fue envazado el: " + getFechaDeEnvazado() + ", en el lote #: " + numeroDeLote + ", Caduca el: " + getFechaDeCaducidad());
}
}
package com.aprenderaprogramar;
import java.util.Scanner;
public class GestionarEntrada {
private String entrada;
public GestionarEntrada() {
pedirEntrada();
}
public void pedirEntrada() {
Scanner entradaTeclado1 = new Scanner(System.in);
setEntrada(entradaTeclado1.nextLine());
}
public String getEntrada() {
return entrada;
}
public void setEntrada(String entrada) {
this.entrada = entrada;
}
}
package agroalimentaria;
public class ProductosFrescos extends Productos {
public ProductosFrescos() {
super();
}
}
package agroalimentaria;
import com.aprenderaprogramar.GestionarEntrada;
public class ProductosPreservados extends Productos{
private double temperaturaDeMantenimiento;
public ProductosPreservados() {
super();
setTemperaturaDeMantenimiento();
}
public double getTemperaturaDeMantenimiento() {
return temperaturaDeMantenimiento;
}
public void setTemperaturaDeMantenimiento() {
GestionarEntrada entradaTeclado;
System.out.println("Ingrese la temperatura de mantenimiento");
entradaTeclado = new GestionarEntrada();
this.temperaturaDeMantenimiento = Double.valueOf(entradaTeclado.getEntrada());
}
}
package agroalimentaria;
import com.aprenderaprogramar.GestionarEntrada;
public class ProductosRefrigerados extends ProductosPreservados{
private GestionarEntrada entradaTeclado;
private String codigoSupervisión;
public ProductosRefrigerados() {
super();
setCodigoSupervision();
}
public String getCodigoSupervision() {
return codigoSupervisión;
}
public void setCodigoSupervision() {
System.out.println("Ingrese el codigo de supervición");
entradaTeclado = new GestionarEntrada();
this.codigoSupervisión = entradaTeclado.getEntrada();
}
public void mostrarInfoProductosRefrigerados() {
super.mostrarInformacionComun();
System.out.println("Tiene el codigo de supervisión: " + this.getCodigoSupervision() + " Una temperatura de mantenimiento: " + super.getTemperaturaDeMantenimiento());
}
}
package agroalimentaria;
public class ProductosCongelados extends ProductosPreservados {
public ProductosCongelados() {
super();
}
}
package agroalimentaria;
import java.util.ArrayList;
import java.util.List;
import com.aprenderaprogramar.GestionarEntrada;
public class CongeladosPorAire extends ProductosCongelados{
List <Double> composicionDelAire = new ArrayList<Double>();
public CongeladosPorAire() {
super();
setComposicionDelAire();
}
public void setComposicionDelAire() {
GestionarEntrada entradaTeclado;
System.out.println("Ingrese el % de nitrógeno: ");
entradaTeclado = new GestionarEntrada();
composicionDelAire.add(Double.valueOf(entradaTeclado.getEntrada()));
System.out.println("Ingrese el % de oxígeno: ");
entradaTeclado = new GestionarEntrada();
composicionDelAire.add(Double.valueOf(entradaTeclado.getEntrada()));
System.out.println("Ingrese el % de dióxido de carbono: ");
entradaTeclado = new GestionarEntrada();
composicionDelAire.add(Double.valueOf(entradaTeclado.getEntrada()));
System.out.println("Ingrese el % de vapor de agua: ");
entradaTeclado = new GestionarEntrada();
composicionDelAire.add(Double.valueOf(entradaTeclado.getEntrada()));
}
public void getComposicionDelAire() {
System.out.println("La composición del aire consta de: " + composicionDelAire.get(0) + " % de nitrógeno");
System.out.println("La composición del aire consta de: " + composicionDelAire.get(1) + " % de oxígeno");
System.out.println("La composición del aire consta de: " + composicionDelAire.get(2) + " % de dióxido de carbono");
System.out.println("La composición del aire consta de: " + composicionDelAire.get(3) + " % de vapor de agua");
}
public void mostrarInfoCongeladosAire() {
super.mostrarInformacionComun();
getComposicionDelAire();
System.out.println("Una temperatura de mantenimento de: " + super.getTemperaturaDeMantenimiento() );
}
}
package agroalimentaria;
import com.aprenderaprogramar.GestionarEntrada;
public class CongeladoPorAgua extends ProductosCongelados{
private int salinidadDelAgua;
GestionarEntrada entradaTeclado;
public CongeladoPorAgua() {
super();
setSalinidadDelAgua();
}
public int getSalinidadDelAgua() {
return salinidadDelAgua;
}
public void setSalinidadDelAgua() {
System.out.println("Ingrese el valor de salinidad en gramos de sal por litro de agua (g/l). ");
entradaTeclado = new GestionarEntrada();
this.salinidadDelAgua = Integer.parseInt(entradaTeclado.getEntrada());
}
public void mostrarInfoCongeladosPorAgua() {
super.mostrarInformacionComun();
System.out.println("Tiene el una salinidad de : " + this.getSalinidadDelAgua() + "g/l y una temperatura de mantenimento de: " + super.getTemperaturaDeMantenimiento() );
}
}
package agroalimentaria;
import com.aprenderaprogramar.GestionarEntrada;
public class CongeladoPorNitrogeno extends ProductosCongelados{
private String metodoDeCongelacion;
private int tiempoDeExposicion;
GestionarEntrada entradaTeclado;
public CongeladoPorNitrogeno() {
super();
setMetodoDeCongelacion();
setTiempoDeExposicion();
}
public String getMetodoDeCongelacion() {
return metodoDeCongelacion;
}
public void setMetodoDeCongelacion() {
System.out.println("Ingrese el metodo de congelación: ");
entradaTeclado = new GestionarEntrada();
this.metodoDeCongelacion = entradaTeclado.getEntrada();
}
public int getTiempoDeExposicion() {
return tiempoDeExposicion;
}
public void setTiempoDeExposicion() {
System.out.println("Ingrese el tiempo de exposición: ");
entradaTeclado = new GestionarEntrada();
this.tiempoDeExposicion = Integer.parseInt(entradaTeclado.getEntrada());
}
public void mostrarInfoCngeladosPorNitrogeno() {
super.mostrarInformacionComun();
System.out.println("Usa el metodo de congelación: " + this.getMetodoDeCongelacion() + " y un tiempo de exposición de: " + this.getTiempoDeExposicion() + " segundos" );
}
}
package agroalimentaria;
public class TestHerencia3 {
public static void main(String[] args) {
System.out.println("Creación de producto fresco: "); ProductosFrescos
productoFresco1 = new ProductosFrescos();
productoFresco1.mostrarInformacionComun();
System.out.println("Creación de producto fresco: "); ProductosFrescos
productoFresco2 = new ProductosFrescos();
productoFresco2.mostrarInformacionComun();
System.out.println("Creación de producto Refrigerado: ");
ProductosRefrigerados productoRefrigerado1 = new ProductosRefrigerados();
productoRefrigerado1.mostrarInfoProductosRefrigerados();
System.out.println("Creación de producto Refrigerado: ");
ProductosRefrigerados productoRefrigerado2 = new ProductosRefrigerados();
productoRefrigerado2.mostrarInfoProductosRefrigerados();
System.out.println("Creación de producto Refrigerado: ");
ProductosRefrigerados productoRefrigerado3 = new ProductosRefrigerados();
productoRefrigerado3.mostrarInfoProductosRefrigerados();
System.out.println("Creación de producto congelado x Agua: ");
CongeladoPorAgua congeladoPorAgua1 = new CongeladoPorAgua();
congeladoPorAgua1.mostrarInfoCongeladosPorAgua();
System.out.println("Creación de producto congelado x Agua: ");
CongeladoPorAgua congeladoPorAgua2 = new CongeladoPorAgua();
congeladoPorAgua2.mostrarInfoCongeladosPorAgua();
System.out.println("Creación de producto congelado x Aire: ");
CongeladosPorAire congeladoPorAire1 = new CongeladosPorAire();
congeladoPorAire1.mostrarInfoCongeladosAire();
System.out.println("Creación de producto congelado x Aire: ");
CongeladosPorAire congeladoPorAire2 = new CongeladosPorAire();
congeladoPorAire2.mostrarInfoCongeladosAire();
System.out.println("Creación de producto congelado x Nitrogeno: ");
CongeladoPorNitrogeno congeladoPorNitrogeno = new CongeladoPorNitrogeno();
congeladoPorNitrogeno.mostrarInfoCngeladosPorNitrogeno();
}
}