Encadear 2 filas

3 respostas
AnnaGiuliaGatti

Estou desenvolvendo um programa onde preciso encadear 2 listas, ou seja, o usuário ira fazer uma reserva de um assento tomando como base os dados de um cliente (nome, telefone e documento). São 7 assentos disponíveis, caso haja lugar disponiveis, a reserva é efetuada, caso não o cliente entra na fila de espera. Em caso de cancelamento o primeiro cliente da lista de espera entra na lista de reserva.
Porem deve ser proibido o mesmo cliente realizar 2 reservas ou então ficar 2 vezes na lista de espera.

Para resolver o problema eu estava pensando em usar arrayList ou então fila encadeada.

Para printar preciso usar JOptionPane

3 Respostas

D

A maior dificudade será a manipulação dos dados e não da estrutura. Recomendo que crie uma classe só para isso.

Exemplo:

class ListaDeClientes {
  List<Cliente> reserva;
  List<cliente> espera;
  
  void add(cliente) {
    if (reserva.size < 7) {
      reserva.add(cliente)
    } else {
      espera.add(cliente)
    }
  }
  boolean estaNaEspera(cliente) {
    return espera.procurar(cliente) != -1
  }
}

Exemplo com estrutura diferente:

class ListaDeClientes {
  List<Cliente> clientes;
  int reservas = 7;

  void add(cliente) {
    clientes.add(cliente)
  }
  boolean estaNaEspera(cliente) {
    int indice = clientes.procurar(cliente)
    return indice >= reservas && indice != -1
  }
}
AnnaGiuliaGatti

Mas depois como eu poderia implantar isso no main?

eu criei uma classe cliente com o atibutos:

String nome;

String telefone;

String documento;

ai fiz um construtor

No main eu tenho um pouco de dificuldade, seria melhor eu instanciar objetos e colocar nas posições?

D

Eu também não sei implementar o main.

Provavelmente sim, faça um esboço, não precisa ser código java ou estar funcionando, e deixe como comentário no código. Depois disso vc faz as partes que faltam para esse esboço funcionar.

Criado 28 de maio de 2020
Ultima resposta 28 de mai. de 2020
Respostas 3
Participantes 2