PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Vetor de objetos JAVA #532772

25/09/2015

0

Ola pessoal, to com o seguinte problema, tenho 3 clases que são

MESA
GerenciaMesa
App

tenho que gerencia um restaurante utilizando TAD, onde cadastro a mesa, faço o pedido e fecho a conta com desconto ou não. Estou com proble em criar os metodos de efetuar pedido e fechar conta.

Na mesa tem uma bin com as informaçoes, e tabem os metodos, imprimir, efetuar pedido e fechar conta.

public class Mesas {

    private int nMesa;

    private int qtdP;

    private double totalC = 0;

    //Construtor com parametros
    public Mesas(int nMesa, int qtdP) {
        this.nMesa = nMesa;
        this.qtdP = qtdP;

    }

    //Construtor sem parametros, iniciando todos atributos com zero.
    public Mesas() {
        this(0, 0);
    }

    //Seters e Getters dos atributos private.
    public void setnMesa(int nMesa) {
        this.nMesa = nMesa;
    }

    public void setQtdP(int qtdP) {
        this.qtdP = qtdP;
    }

    public void setTotalC(double totalC) {
        this.totalC = totalC;
    }

    public int getnMesa() {
        return nMesa;
    }

    public int getQtdP() {
        return qtdP;
    }

    public double getTotalC() {
        return totalC;
    }

    //Metodo para efetuar o pedido apartir do codigo do produto e da quantidade.
    public void efetuarPedido(int numero, int codigo, int qtd) {

    }

    //Metodo que retorna o valor da conta e o valor da conta por pessoa.
    public void fecharConta(int numero, int pgt) {

    }

    //Exibe a tabela com o preço.
    public String tabelaPreco() {
        return "1 | Refrigerante | 2,00\n"
                + "2 |    Cachorro Quente    | 5,00\n"
                + "3 |    Batata frita    | 4,00";
    }

    //Exibe a tabela com os meios de pagamentos.
    public String tabelaPagamento() {
        return "1 | Dinheiro | 10%\n"
                + "2 | Cheque | Sem desconto\n"
                + "3 | Cartão | 5%";
    }

//Metodo que imprimi os dados da mesa.
    public String imprimir() {
        return "Numero da mesa: " + this.nMesa
                + "\nQuantidade de pessoas: " + this.qtdP
                + " \nTotal da conta: " + this.totalC;
    }


Na GerenciaMesa eu tenho os metodos de cadastro e busca, e um vetor do tipo mesa.
public class GerenciaMesas {

    private Mesas mesas[];
    private int qtde;

    public GerenciaMesas(int max) {
        this.mesas = new Mesas[max];
        this.qtde = 0;
    }

    //Inclui uma mesa na TAD.
    public boolean cadastrarMesa(Mesas m) {
        boolean retorno = false;
        if (qtde < mesas.length) {
            mesas[qtde] = m;
            qtde++;
            retorno = true;
        }

        return retorno;
    }

    //Imprimi todas as mesas cadastradas.
    public String imprimirMesas() {
        String imprimir = "";

        if (this.qtde > 0) {
            for (int i = 0; i < this.qtde; i++) {

                imprimir += mesas[i].imprimir() + "\n\n";
            }
            return imprimir;

        } else {

            return "Nenhuma messa cadastrada no momento!";

        }

    }

    // Busca a mesa pelo numero informado.
    public String buscarMesa(int numero) {
        String retorno = "";

        if (this.qtde > 0) {
            int i;

            for (i = 0; i < this.qtde; i++) {
                if (mesas[i].getnMesa() == numero) {
                    break;
                }
            }

            if (i != this.qtde) {
                retorno = mesas[i].imprimir();
            }

        }

        return retorno;
    }

    //Exibi o numero da mesa com maior consumo.
    public String maiorConsumo() {
        int maior = 0;
        if (this.qtde > 0) {
            for (int i = 0; i < this.qtde; i++) {
                if (mesas[i].getTotalC() > maior) {
                    maior = mesas[i].getnMesa();
                }
            }
            return "A mesa com maior consumo é a numero:" + maior;

        } else {
            return "Nenhuma mesa cadastrada no momento";

        }

    }
}


No App o menu e as interaçoes com o usuario.

public class App {

    public static void main(String[] args) {
        GerenciaMesas gc = new GerenciaMesas(100);
        Mesas mesa = new Mesas();
        int opcao;

        while (true) {
            opcao = Integer.parseInt(JOptionPane.showInputDialog(null, "1) Cadastrar mesas\n"
                    + "2) Imprimir todas as mesas\n"
                    + "3) Efetuar Pedidos\n"
                    + "4) Calcular e imprimir o valor final da conta e por pessoa\n"
                    + "5) Exibir a mesa com maior consumo\n"
                    + "6) Sair", "Escolha uma Opção", QUESTION_MESSAGE));

            switch (opcao) {
                case 1:

                    Mesas m = new Mesas(Integer.parseInt(JOptionPane.showInputDialog(null, "Numero da mesa", "Identificação da mesa", QUESTION_MESSAGE)),
                            Integer.parseInt(JOptionPane.showInputDialog(null, "Quantidade de pessoas", "Total de clientes na mesa", QUESTION_MESSAGE)));

                    //retornar se a messa foi incluida ou nao.
                    if (gc.cadastrarMesa(m)) {
                        JOptionPane.showMessageDialog(null, "Mesa Incluida", "SUCESSO", INFORMATION_MESSAGE);
                    } else {
                        JOptionPane.showMessageDialog(null, "Mesa nao incluida", "FALHA", INFORMATION_MESSAGE);
                    }
                    break;

                case 2:
                    JOptionPane.showMessageDialog(null, gc.imprimirMesas(), "MESAS", INFORMATION_MESSAGE);
                    break;

                case 3:

                    break;

                case 4:

                    break;

                case 5:
                    JOptionPane.showMessageDialog(null, gc.maiorConsumo(), "Maior consumo", INFORMATION_MESSAGE);

                    break;
                case 6:
                    JOptionPane.showMessageDialog(null, "Programa encerrado com suscesso", "ECERRADO", INFORMATION_MESSAGE);
                    System.exit(0);
                    break;
                default:
                    JOptionPane.showMessageDialog(null, "Digite um valor valido", "OPÇÃO INVALIDA", INFORMATION_MESSAGE);
            }

        }

    }

}


todos os metodos implementados estão funcional, mas nao consegui e nem sei por onde começa para fazer os metodos de efetuarPedido e de Fechar a conta.
Hugo Henrique

Hugo Henrique

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar