Aprenda a usar ArrayList para este aplicativo simples e prático.

Um sistema de estacionamento é um método conveniente, seguro e ambientalmente sustentável que resolve uma grande parte do problema de gerenciamento de tráfego. Um sistema de estacionamento bem projetado pode reduzir o fluxo de tráfego, utilizar o espaço com eficiência, gerar receita e proporcionar uma experiência aprimorada ao usuário.

Aprenda como você pode usar Java para construir um sistema de estacionamento simples que você pode projetar e integrar posteriormente com um banco de dados, adicionar validações e desenvolver uma interface gráfica do usuário para usar na vida real.

Como construir um sistema de estacionamento usando Java

Você pode encontrar o código-fonte para construir um sistema de estacionamento de veículos usando Java neste Repositório GitHub.

Para este projeto, você usará ArrayList, que é um array redimensionável de uso geral. Você pode acessar elementos usando um índice, executar operações CRUD e muito mais.

instagram viewer
Para usar ArrayList, você precisa importar a classe ArrayList da biblioteca padrão Java. Da mesma forma, para operações de entrada-saída, importe a classe Scanner. Definir uma classe pública, Sistema de estacionamento de veículos, para servir como classe principal.

Defina três variáveis ​​estáticas: totalSlots, Vagas disponíveis, e carros estacionados. totalSlots representa o número total de vagas de estacionamento, enquanto availableSlots acompanha quantos permanecem livres. parkedCars é um ArrayList que armazena os números das placas dos carros atualmente estacionados.

Defina a principal() método e crie um objeto da classe Scanner. Peça ao usuário para inserir o número total de vagas de estacionamento e armazene-o em totalSlots. Inicialmente, os slots disponíveis são iguais ao total de slots, então inicialize availableSlots com o mesmo valor de totalSlots.

importar java.util. ArrayList;
importar java.util. scanner;

públicoaulaSistema de estacionamento de veículos{

estáticoint totalSlots, slots disponíveis;
estático ArrayList carros estacionados = novo ArrayList();

públicoestáticovazioprincipal(String[] argumentos){

Scanner sc = novo Scanner (System.in);
System.out.println("Digite o número total de vagas de estacionamento na instalação:");
totalSlots = sc.nextInt();
disponíveisSlots = totalSlots;

Use um loop while que corre indefinidamente. Pergunte ao usuário se deseja estacionar um carro, removê-lo, ver os carros estacionados ou sair do programa. Dependendo da escolha, chame o método correspondente. Se o usuário quiser encerrar o programa, use System.exit (0) para encerrar imediatamente.

enquanto (verdadeiro) {
System.out.println("\n O que você gostaria de fazer?");
System.out.println("1. Estacionar um carro");
System.out.println("2. Remover um carro");
System.out.println("3. Ver carros estacionados");
System.out.println("4. Saída");
int escolha = sc.nextInt();

trocar (escolha) {
caso1:
parkCar();
quebrar;
caso2:
removerCarro();
quebrar;
caso3:
viewCarrosEstacionados();
quebrar;
caso4:
System.exit(0);
padrão:
System.out.println("Escolha inválida. Por favor, tente novamente.");
}
}
}

Defina um método estático público, parkCar(),sem tipo de retorno. Se não houver slots disponíveis, informe o usuário e retorne. Caso contrário, peça ao usuário para digitar o número da placa de seu carro e use o adicionar() método para inseri-lo no ArrayList. Diminua o número de vagas disponíveis em um e mostre que o programa estacionou o carro junto com o número atual de vagas disponíveis.

públicoestáticovazioparkCar(){
se (vagas disponíveis == 0) {
System.out.println("Desculpe, não há vagas de estacionamento disponíveis.");
retornar;
}

Scanner sc = novo Scanner (System.in);
System.out.println("Digite o número da placa do carro:");
String LicensePlate = sc.nextLine();
parkedCars.add (licensePlate);
slots disponíveis--;
System.out.println("O carro foi estacionado com sucesso. Os slots atualmente disponíveis são: " + slots disponíveis);
}

Defina um método, removerCarro(). Se os valores do número total e disponível de slots coincidirem, mostre que não há carros estacionados e retorne. Caso contrário, peça ao usuário o número da placa do carro. Verifique se o número da placa informado pelo usuário está presente no ArrayList usando contém().

Se for bem-sucedido, use o remover() método para retirá-lo do ArrayList e incrementar os slots disponíveis em um. Exibe a mensagem de que o programa removeu o carro junto com o número atual de vagas disponíveis. Caso você não encontre o número da placa, mostre que não há nenhum carro estacionado na instalação.

públicoestáticovazioremovercarro(){
se (Slots disponíveis == totalSlots) {
System.out.println("Não há carros estacionados.");
retornar;
}

Scanner sc = novo Scanner (System.in);
System.out.println("Digite o número da placa do carro a ser removido:");
String LicensePlate = sc.nextLine();

se (parkedCars.contains (licensePlate)) {
parkedCars.remove (licensePlate);
slots disponíveis++;
System.out.println("Carro removido com sucesso. Os slots atualmente disponíveis são: " + slots disponíveis);
} outro {
System.out.println("O carro não está estacionado aqui.");
}
}

Defina um método, verCarrosEstacionados(). Semelhante ao acima, verifique se não há carros estacionados. Caso contrário, exiba os números das placas dos carros estacionados. Para fazer isso, use um loop for-each para iterar sobre os itens no ArrayList e exibi-los um por um.

públicoestáticovazioverCarrosEstacionados(){
se (Slots disponíveis == totalSlots) {
System.out.println("Não há carros estacionados.");
retornar;
}

System.out.println("Carros estacionados:");

para (String licensePlate: parkedCars) {
System.out.println (licensePlate);
}
}
}

Junte tudo e seu sistema de estacionamento está pronto para uso.

Saída de exemplo do programa de estacionamento

Ao executar o código acima, o programa pede para inserir o número total de vagas de estacionamento da instalação. Ao entrar no 5, dá a opção de estacionar um carro, retirá-lo, ver todos os carros estacionados e sair do programa. Ao escolher a opção 1, pede para digitar a placa do carro e diminui uma vaga disponível estacionando-o.

Ao escolher a opção 3, você pode visualizar a placa do carro que acabou de estacionar. Ao escolher a opção 2 e inserir a placa, o programa remove o carro e as vagas disponíveis aumentam em um.

Outros sistemas de gerenciamento que você pode criar

Ao criar sistemas de gerenciamento em Java, você ganha experiência em vários aspectos do desenvolvimento de software, gerenciamento de banco de dados, segurança e integração de sistemas. Alguns dos projetos que você pode explorar são o sistema de gerenciamento de estoque que ajuda a entender a modelagem de dados, operações CRUD, rastreamento de estoque e atendimento de pedidos.

Você pode construir um sistema de gerenciamento de biblioteca para aprender organização de dados e autenticação de usuário. Os sistemas de gerenciamento de funcionários ou alunos são muito parecidos e podem ajudá-lo a aprender o controle de acesso baseado em função e o rastreamento de frequência.