Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

Desafio: Proyecto de comidas

Main

import controlador.CalculadoraPreparacion;
import modelo.Bebidas;
import modelo.Comidas;
import modelo.Insumos;

public class Main {
    public static void main(String[] args) {

        Comidas hamburguesa = new Comidas();
        hamburguesa.setNombre("Hamburguesa Doble Americana");
        hamburguesa.setPrecio(11500);
        hamburguesa.setTipoComida("Hamburguesa");
        hamburguesa.setDescripcion("Doble hamburguesa americana con medallones de 250gr, panceta crujiente y 4 fetas de queso cheddar");
        hamburguesa.setNecesitaPreparacion(true);
        hamburguesa.setTiempoPreparacion(20);
        hamburguesa.muestraProducto();
        hamburguesa.precioTotal(hamburguesa.getPrecio());

        Comidas papasFritas = new Comidas();
        papasFritas.setNombre("Papas Fritas individuales");
        papasFritas.setPrecio(3000);
        papasFritas.setTipoComida("Snacks");
        papasFritas.setDescripcion("Papas Fritas tamaño individual");
        papasFritas.setNecesitaPreparacion(true);
        papasFritas.setTiempoPreparacion(5);
        papasFritas.muestraProducto();
        papasFritas.precioTotal(papasFritas.getPrecio());

        Bebidas cocaCola = new Bebidas();
        cocaCola.setNombre("Coca Cola 500ml");
        cocaCola.setPrecio(1500);
        cocaCola.setDescripcion("Coca cola de 500ml");
        cocaCola.setUnidadMedida(500);
        cocaCola.setTipoBebida("Gaseosa individual");

        Insumos carneMolida = new Insumos();
        carneMolida.setNombre("Carne Molida Especial");
        carneMolida.setPrecio(5000);
        carneMolida.setCantidades(1000);
        carneMolida.setDescripcion("Carne molida especial de vaca 0 grasa");
        carneMolida.setStock(8);
        carneMolida.setTipoInsumo("Medallon de burger");
        carneMolida.setPerecederos(true);

        CalculadoraPreparacion calculadora = new CalculadoraPreparacion();
        calculadora.calcularTiempoPreparacion(hamburguesa);
        calculadora.calcularTiempoPreparacion(papasFritas);
        System.out.println("El tiempo necesario para preparar un combo es de: " + calculadora.getTiempoTotal());
    }
}

Articulo

package modelo;

public class Articulo {
    private String nombre;
    private double precio;
    private String descripcion;
    private static int precioTotal;

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public double getPrecio() {
        return precio;
    }

    public void setPrecio(double precio) {
        this.precio = precio;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public void muestraProducto(){
        System.out.println("Nombre del producto: " + getNombre());
        System.out.println("Descripcion: " + getDescripcion());
        System.out.println("Precio: $" + getPrecio());
    }

    public void precioTotal(double precio){
        precioTotal += precio;
        System.out.println("El precio del combo es de: $" + precioTotal);
    }
}

Comidas

package modelo;

import controlador.Clasificacion;

public class Comidas extends Articulo implements Clasificacion {
    private String tipoComida;
    private boolean necesitaPreparacion;
    private int tiempoPreparacion;

    public int getTiempoPreparacion() {
        return tiempoPreparacion;
    }

    public void setTiempoPreparacion(int tiempoPreparacion) {
        this.tiempoPreparacion = tiempoPreparacion;
    }

    public String getTipoComida() {
        return tipoComida;
    }

    public void setTipoComida(String tipoComida) {
        this.tipoComida = tipoComida;
    }

    public boolean isNecesitaPreparacion() {
        return necesitaPreparacion;
    }

    public void setNecesitaPreparacion(boolean necesitaPreparacion) {
        this.necesitaPreparacion = necesitaPreparacion;
    }

    @Override
    public String getClasificacion(){
        if (necesitaPreparacion == true){
            return "Su comida es un articulo manufacturado, necesita preparacion";
        }else{
            return "Su comida no es un articulo manufacturado, esta lista para consumir";
        }
    }
}

continua...

2 respuestas

Bebidas

package modelo;

import controlador.Clasificacion;

public class Bebidas extends Articulo implements Clasificacion {
    private String tipoBebida;
    private double unidadMedida;

    public String getTipoBebida() {
        return tipoBebida;
    }

    public void setTipoBebida(String tipoBebida) {
        this.tipoBebida = tipoBebida;
    }

    public double getUnidadMedida() {
        return unidadMedida;
    }

    public void setUnidadMedida(double unidadMedida) {
        this.unidadMedida = unidadMedida;
    }

    @Override
    public String getClasificacion (){
        if (unidadMedida == 500){
            return "Su bebida es de medio litro";
        }else if (unidadMedida == 1000){
            return "Su bebida es de un litro";
        }else {
            return "Unidad de medida inexistente en la sucursal";
        }
    }
}

Insumos

package modelo;

import controlador.Clasificacion;

public class Insumos extends Articulo implements Clasificacion {
    private String tipoInsumo;
    private int cantidades;
    private int stock;
    private boolean perecederos;

    public String getTipoInsumo() {
        return tipoInsumo;
    }

    public void setTipoInsumo(String tipoInsumo) {
        this.tipoInsumo = tipoInsumo;
    }

    public int getCantidades() {
        return cantidades;
    }

    public void setCantidades(int cantidades) {
        this.cantidades = cantidades;
    }

    public int getStock() {
        return stock;
    }

    public void setStock(int stock) {
        this.stock = stock;
    }

    public boolean isPerecederos() {
        return perecederos;
    }

    public void setPerecederos(boolean perecederos) {
        this.perecederos = perecederos;
    }

    @Override
    public String getClasificacion() {
        if (perecederos == true ) {
            return "Debe consumir este alimento pronto";
        }else {
            return "Alimento no perecedero, durabilidad prolongada";
        }
    }
}

Clasificacion

package controlador;

public interface Clasificacion {
    String getClasificacion();
}

Calculadora

package controlador;

import modelo.Comidas;

public class CalculadoraPreparacion {
    private int tiempoTotal;

    public int getTiempoTotal() {
        return tiempoTotal;
    }

    public void calcularTiempoPreparacion(Comidas comidas){
        this.tiempoTotal += comidas.getTiempoPreparacion();
    }
}

Hola Bianca, espero que estés bien

Gracias por compartir tu ejercício práctico con nosotros, en este momento no veo puntos de mejora! Tu contribución es fundamental para el crecimiento de nuestra comunidad en Alura. Sigue comprometido y no dudes en regresar al foro en caso que tengas alguna duda o dificultad.

¡Continúa con sus estudios y éxito en su carrera!

¡Abrazos y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!