Como, usando array redimensionavel, tirar um elemento e inserir o primeiro se outro array?
package br.xpto.principal;
import static java.lang.Integer.parseInt;
import static javax.swing.JOptionPane.ERROR_MESSAGE;
import static javax.swing.JOptionPane.showConfirmDialog;
import static javax.swing.JOptionPane.showInputDialog;
import static javax.swing.JOptionPane.showMessageDialog;
import br.xpto.menu.Reserva;
import java.util.ArrayList;
import java.util.Scanner;
import br.xpto.cliente.*;
import br.xpto.fila.Fila;
public class Main {
/*
static int n = 7;
static Cliente[] assentos = new Cliente[n];
Cliente cliente;
int controle = 0;
*/
Cliente cliente;
static ArrayList<Cliente> aviao = new ArrayList<>();
static ArrayList<Cliente> espera = new ArrayList<>();
public static void main(String[] args) {
ArrayList<Cliente> aviao = new ArrayList<>();
ArrayList<Cliente> espera = new ArrayList<>();
// int opcaoCliente;
int opcao;
/*Cliente[] clientes = new Cliente[5000];*/
ArrayList<Cliente> clientList = new ArrayList<>();
Scanner leitor = new Scanner(System.in);
boolean finalizar = false;
int posicao = 0;
do {
opcao = parseInt(showInputDialog(menu()));
if (opcao < 1 || opcao > 6) {
showMessageDialog(null, "Opção inválida", "ALERTA", ERROR_MESSAGE);
} else {
switch(opcao) {
case 1:
ReservarPassagem(aviao, espera);
break;
case 2:
String documento = showInputDialog("Infome o número do CPF");
pesquisarReserva(documento, aviao, espera);
break;
case 3:
String documentos = showInputDialog("Infome o número do CPF");
cancelarReserva(documentos, aviao, espera);
break;
case 4:
ImprimirReserva(aviao);
break;
case 5:
ImprimirReserva(espera);
break;
case 6:
int resposta = showConfirmDialog(null, "Deseja realmente sair?");
finalizar = (resposta == 0);
}
}
} while (!finalizar);
leitor.close();
}
private static String menu() {
String aux = "Escolha uma opção\n";
aux += "1. Realizar Reserva\n";
aux += "2. Pesquisar reserva\n";
aux += "3. Cancelar reserva\n";
aux += "4. Impressão da lista de reservas\n";
aux += "5. Impressão da lista de espera\n";
aux += "6. Finalizar";
return aux;
}
public static void ReservarPassagem(ArrayList<Cliente> aviao, ArrayList<Cliente> espera) {
String nome = showInputDialog("Nome do cliente");
String telefone = showInputDialog("Telefone do cliente");
String documento = showInputDialog("Informe o CPF ou CNPJ");
Cliente cliente = new Cliente(nome, telefone, documento);
Reserva reserva = new Reserva("27/06/2020", "31/07/2020", "EagleD137");
if (aviao.size() < 7) {
aviao.add(cliente);
showMessageDialog(null, "Reserva feita"+ "\n" + "Informações da reserva: " + reserva.toString());
} else {
espera.add(cliente);
showMessageDialog(null, "Cliente na fila de espera");
}
}
private static void pesquisarReserva(String documento, ArrayList<Cliente> aviao, ArrayList<Cliente> espera ) {
for (Cliente client : aviao ) {
if (documento.contentEquals(client.getDocumento())) {
showMessageDialog(null, "Cliente com reserva efetuada");
// retorna
}else {
showMessageDialog(null, "Cliente sem reserva");
}
}
for (Cliente clientt : espera) {
if (documento.contentEquals(clientt.getDocumento())) {
showMessageDialog(null, "Cliente na fila de espera");
// retorna
}else {
showMessageDialog(null, "Cliente não está na fila de espera");
}
}
}