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: Reoplick en 18 de Febrero 2022, 17:24

Título: Java código programa de consola empresa que comercializa tres tipos de productos
Publicado por: Reoplick en 18 de Febrero 2022, 17:24
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");
    }
   
}
Título: Re: Que le hace falta a mi algoritmo, como lo termino. Ejercicio de herencia
Publicado por: Kabuto 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.
Título: Re: Que le hace falta a mi algoritmo, como lo termino. Ejercicio de herencia
Publicado por: Reoplick 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
Título: Re: Que le hace falta a mi algoritmo, como lo termino. Ejercicio de herencia
Publicado por: Kabuto 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.