Autor Tema: Java código programa de consola empresa que comercializa tres tipos de productos  (Leído 1999 veces)

Reoplick

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 7
    • Ver Perfil
Saludos a todos, necesitaría ayuda para resolver el siguiente ejercicio.

Ejercicio Java

Desarrollar un programa por consola Java que permita la gestión de una empresa que comercializa tres tipos de productos: frescos, refrigerados y congelados.

Todos los productos llevan esta información común: Código, nombre del producto, precio, fecha de caducidad y número de lote. A su vez, cada tipo de producto lleva alguna información específica.

• Los productos frescos deben llevar la fecha de envasado y el país de origen.

• Los productos refrigerados deben llevar el código la empresa que controla su registro de supervisión.

• Los productos congelados deben llevar la temperatura de congelación recomendada.

El programa debe ser implementado usando herencia desde la superclase Producto hasta las subclases ProductoFresco, ProductoRefrigerado y ProductoCongelado. Cada clase debe disponer de constructores y métodos get y set. Así mismo, debe haber un método para mostrar la información de cada producto y un método para calcular el valor a pagar por la compra hecha de cada producto. Desde el programa principal se debe pedir al usuario la información pertinente (la que usted considere) para que el programa de venta de productos pueda funcionar.


Super Clase Producto

Código: [Seleccionar]

public class Producto {
   
    private String FechaCaduc;
    private String NumLote;

    public Producto() {
        super();
    }

    public Producto(String FechaCaduc, String NumLote) {
        this.FechaCaduc = FechaCaduc;
        this.NumLote = NumLote;
    }

    public String getFechaCaduc() {
        return FechaCaduc;
    }

    public String getNumLote() {
        return NumLote;
    }

    public void setFechaCaduc(String FechaCaduc) {
        this.FechaCaduc = FechaCaduc;
    }

    public void setNumLote(String NumLote) {
        this.NumLote = NumLote;
    }
   
   public void imprimirInfo(){
        System.out.println("Fecha Caducidad: " + getFechaCaduc() + "\nNumero de Lote: " + getNumLote());
    }

}


ProductosRefrigerados

Código: [Seleccionar]

public class Refrigerados extends Producto {
   
    private String CodigoEmpreRegistroSuper;

    public Refrigerados(String FechaCaduc, String NumLote) {
        super(FechaCaduc, NumLote);
    }

    public Refrigerados(String CodigoEmpreRegistroSuper, String FechaCaduc, String NumLote) {
        super(FechaCaduc, NumLote);
        this.CodigoEmpreRegistroSuper = CodigoEmpreRegistroSuper;
    }

    public String getCodigoEmpreRegistroSuper() {
        return CodigoEmpreRegistroSuper;
    }

    public void setCodigoEmpreRegistroSuper(String CodigoEmpreRegistroSuper) {
        this.CodigoEmpreRegistroSuper = CodigoEmpreRegistroSuper;
    }
   
    public void imprimoDatos(){
        imprimirInfo();
        System.out.println("Codigo de Supervision Alimenticia: "
        + getCodigoEmpreRegistroSuper() + "\n");
    }

}


ProductosFrescos

Código: [Seleccionar]

public class Frescos extends Producto {
   
    private String FechaEnva;
    private String PaisOrige;

    public Frescos() {
    }

    public Frescos(String FechaEnva, String PaisOrige, String FechaCaduc, String NumLote) {
        super(FechaCaduc, NumLote);
        this.FechaEnva = FechaEnva;
        this.PaisOrige = PaisOrige;
    }

    public String getFechaEnva() {
        return FechaEnva;
    }

    public String getPaisOrige() {
        return PaisOrige;
    }

    public void setFechaEnva(String FechaEnva) {
        this.FechaEnva = FechaEnva;
    }

    public void setPaisOrige(String PaisOrige) {
        this.PaisOrige = PaisOrige;
    }
   
    public void imprimoDatos(){
        imprimirInfo();
        System.out.println("Fecha de Envasado del Producto: " + getFechaEnva()
                + "\nPais de Origen: " + getPaisOrige() + "\n");
    }
}



ProductosCongelados

Código: [Seleccionar]
package Producto;


public class Congelados extends Producto {
   
    private double TemperCongeR;

    public Congelados() {
    }

    public Congelados(double TemperCongeR, String FechaCaduc, String NumLote) {
        super(FechaCaduc, NumLote);
        this.TemperCongeR = TemperCongeR;
    }

    public double getTemperCongeR() {
        return TemperCongeR;
    }
   
    public void setTemperCongeR(double TemperCongeR) {
        this.TemperCongeR = TemperCongeR;
    }
   
    public void imprimoDatos(){
        imprimirInfo();
        System.out.println("Temperatura Recomendada: "
        + getTemperCongeR() + "\n");
    }
   
}
« Última modificación: 18 de Abril 2022, 18:39 por Ogramar »

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 989
    • Ver Perfil
Re: Que le hace falta a mi algoritmo, como lo termino. Ejercicio de herencia
« Respuesta #1 en: 18 de Febrero 2022, 19:35 »
Hola.
A la clase Producto le faltarían atributos
Citar
Todos los productos llevan esta información común: Código, nombre del producto, precio, fecha de caducidad y número de lote.
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

Reoplick

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 7
    • Ver Perfil
Re: Que le hace falta a mi algoritmo, como lo termino. Ejercicio de herencia
« Respuesta #2 en: 18 de Febrero 2022, 20:33 »
Le agrego eso a la Clasde Producto, y como hago la clase principal me puede ayudar, no se como

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 989
    • Ver Perfil
Re: Que le hace falta a mi algoritmo, como lo termino. Ejercicio de herencia
« Respuesta #3 en: 19 de Febrero 2022, 18:21 »
La clase principal no tiene porque ser demasiado complicada, básicamente es poder probar las distintas clases Producto.

Así que puedes simplemente pedir datos por teclado, los necesarios para crear cada tipo de producto.

Puedes dejar los atributos como los tienes ahora y pedir datos de esta manera:
Código: [Seleccionar]
import java.util.Scanner;

public class TestHerencia2
{
    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);
        //Peticion de datos
        System.out.println("Vamos a crear un Producto Refrigerado");
        System.out.print("Introduzca fecha caducidad: ");
        String fechaRefri = teclado.nextLine();
        System.out.print("Introduzca numero de lote: ");
        String loteRefri = teclado.nextLine();
        System.out.print("Introduzca codigo de supervision: ");
        String codigoRefri = teclado.nextLine();
        //construimos objeto con los datos obtenidos
        ProductoRefrigerado refrigerado = new ProductoRefrigerado(fechaRefri, loteRefri, codigoRefri);
        //Mostramos datos del objeto creado
        System.out.print("Nuevo Refrigerado creado:");
        refrigerado.imprimoDatos();
    }
}

Siguiendo ese ejemplo, haz lo mismo para los dos tipos de productos.
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

 

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