Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Treino de POO - projetinho "coffeeAndChill"

O programa consiste em uma cafeteria, nele há balcão, clientes e bebidas.

Classe Balcao

A classe Balcao é onde funciona todo o programa, ou seja, contém a main:

package coffeeAndChill;

public class Balcao {

    public static void main(String[] args) {
        //Bebidas
        Bebida cafe = new Bebida();
        Bebida capuccino = new Bebida("Capuccino", 5);
        Bebida cocaCola = new Bebida("CocaCola", 2);

        //Clientes
        Cliente cliente1 = new Cliente("Richard", 300);
        Cliente cliente2 = new Cliente("Paulo", 3290);
        Cliente cliente3 = new Cliente("Rodrigo", 1500);


        //Pedidos
        cliente1.comprarBebida(cafe, 2);
        cliente2.comprarBebida(capuccino, 5);
        cliente3.comprarBebida(cocaCola, 5);
    }
}

Classe Cliente

não atribui setters para o dinheiro pois ninguem na vida real recebe dinheiro do nada no bolso haha

package coffeeAndChill;

public class Cliente {

    private double dinheiro;
    private String nome;

    public Cliente(String nome, double dinheiro) {
        this.nome = nome;
        this.dinheiro = dinheiro;
    }

    void comprarBebida(Bebida pedido, int quantidade){
        if (this.dinheiro >= pedido.getPreco()) {
            if (quantidade > 0) {
                this.dinheiro -= (pedido.getPreco() * quantidade);
                System.out.printf(" --> Obrigado pelo pedido! saindo %d %s(s)\n", quantidade, pedido.getNome());
            } else {
                System.out.println(" --> Insira uma quantidade valida");
            }

            System.out.printf("(dinheiro atual do cliente %s: R$%.2f)\n\n", getNome(), getDinheiro());
        } else {
            System.out.printf("Sinto muito, você não tem dinheiro suficiente para comprar o %s, ele custa R$%.2f\n\n", pedido.getNome(), pedido.getPreco());
        }
    }

    public String getNome() {
        return nome;
    }

    public double getDinheiro() {
        return dinheiro;
    }


}

Classe Bebida

É a classe responsável por guardar os dados de cada tipo de bebida

package coffeeAndChill;

public class Bebida {

    private String nome;
    private double preco;

    public Bebida() {
        this.nome = "Café";
        this.preco = 2.00;
    }

    public Bebida(String nome, double preco) {
        this.nome = nome;
        this.preco = preco;
    }

    public String getNome() {
        return nome;
    }

    public double getPreco() {
        return preco;
    }
}

Qualquer dica é bem vinda! sinto que ainda falta mais código para esse programa melhorar.

3 respostas
solução!

Fala man! Não seria interessante vc colocar um login para acesso ao sistema? Daí a depender do perfil de acesso, poderia fazer menus com cadastro de funcionários, clientes, produtos, pedidos, relatórios, etc.

É uma ótima ideia, vou tentar implementar isso no código. Obrigado pela dica Marcos!

Vai ficar show Richard!