Good evening, I'm having difficulty accessing and modifying an array of main class objects within a switch in the view class.
The array is declared as such in the main:
public class Controle {
public static void main(String[] args) {
Visao umaVisao = new Visao();
Cliente umCliente = new Cliente();
Bebida umaBebida = new Bebida();
Comida umaComida = new Comida();
Funcionario umFuncionario = new Funcionario(null);
Cliente[] array = new Cliente[100];
umaVisao.Recepcao();
umaVisao.NoMesasDisp();
umaVisao.selecionarOperacao(umCliente, umFuncionario, umaVisao, umaComida, umaBebida);
The program is about the operation of a bar where the Client object contains Name, Table, orders etc. And in the add switch the client looks like this:
public void selecionarOperacao(Cliente umCliente, Funcionario umFuncionario, Visao umaVisao, Comida umaComida, Bebida umaBebida)
{
String[] opcoes = {"Imprimir conta", "Cardapio", "Adicionar pedido", "Cadastrar mesa", "Alterar preços", "Quit"};
Cliente[] arrayDeObjetos = new Cliente[100];
while (true) {
int resposta = JOptionPane.showOptionDialog(null
, "Selecione a operação a ser realizada"
, "Programa de Gerencimaneto do Bar"
, JOptionPane.YES_NO_OPTION
, JOptionPane.PLAIN_MESSAGE
, null
, opcoes
, ""
);
switch (resposta) {
case 0:
umaVisao.ImprimeConta(umCliente, umaVisao);;
break;
case 1:
umaVisao.Cardápio(umaComida, umaBebida);
break;
case 2:
umaVisao.adicionaPedido(umCliente, umaComida, umaBebida, umaVisao, umFuncionario);
break;
case 3:
int digiteAMesa = Integer.parseInt(JOptionPane.showInputDialog("Digite o numero da mesa que vai cadastrar"));
arrayDeObjetos[digiteAMesa] = umaVisao.cadastraCliente();
break;
case 4:
umaVisao.alteraprecos(umCliente, umFuncionario, umaVisao, umaComida, umaBebida);
break;
case -1:
int result = JOptionPane.showConfirmDialog(null, "Deseja mesmo sair do programa? Qualquer registro será apagado.", "Sair", JOptionPane.YES_NO_OPTION);
if (result == 1){
break;}
else{
System.exit(0);
}
default:
int resultado = JOptionPane.showConfirmDialog(null, "Deseja mesmo sair do programa? Qualquer registro será apagado.", "Sair", JOptionPane.YES_NO_OPTION);
if (resultado == 1){
break;}
else{
System.exit(0);
}
}
The method that adds client is this:
public Cliente cadastraCliente() {
String nome = JOptionPane.showInputDialog("Digite o nome do Cliente: ");
boolean maioridade = false;
int dialogResult = JOptionPane.showConfirmDialog(null, "Existe um responsável maior de idade na mesa?", "Maioridade", JOptionPane.YES_NO_OPTION);
if (dialogResult == 0){
maioridade = true;}
else
maioridade = false;
int numeroDePessoasNaMesa = Integer.parseInt(JOptionPane.showInputDialog("Mesa para quantas pessoas?"));
Cliente umCliente = new Cliente();
return umCliente;
}
My question is about how I can create an array of objects (in the main class), and by the switch accessing this method to add a client.