Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Sistema de controle de acesso a convidados

Olá!

Segue minha resolução:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class ListaConvidados {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        List<String> listaConvidados = new ArrayList<>();
        System.out.println("Digite os nomes na lista ou algum dos comandos a seguir: \n -ver: para visualizar a lista. " +
                "\n-remover <nome>: para retirar da lista\n-contar: para saber a quantidade de convidados\n " +
                "-limpar: para limpar a lista\n- sair: para finalizar\n");

        while (true) {
            String nome = sc.nextLine();
            String lower = nome.toLowerCase();
            if (lower.equals("sair")) {
                System.out.println("finalizando...");
                System.out.println("Lista final: " + listaConvidados);
                break;
            } else if (lower.equals("ver")) {
                if (listaConvidados.isEmpty()) {
                    System.out.println("Lista vazia");
                } else {
                    System.out.println("Lista atualizada: " + listaConvidados);

                }
                continue;
            } else if (lower.equals("contar")) {
                System.out.println("Quantidade de convidados " + listaConvidados.size());
                continue;
            } else if (lower.equals("remover")) {
                System.out.println("Digite o nome a ser removido: ");
                String nomeRemovido = sc.nextLine();
                listaConvidados.remove(nomeRemovido);
                System.out.println(nomeRemovido + " removido com sucesso!");
                continue;
            } else if (lower.equals("limpar")) {
                listaConvidados.clear();
                System.out.println("Lista zerada!");
                continue;
            } else if (listaConvidados.contains(nome)) {
                System.out.println("Convidado já inserido");
                continue;

            }
            listaConvidados.add(nome);


        }
    }
}
1 resposta
solução!

Oi, Victor! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei da forma como você estruturou os comandos do sistema e utilizou while (true) pra manter o programa em execução até o usuário digitar sair. Também foi uma boa escolha usar ArrayList pra gerenciar os convidados e aplicar métodos como isEmpty(), size() e clear(), que ajudam a organizar bem as funcionalidades do sistema.

Você usar o método trim() ao ler textos digitados pelo usuário. Ele remove espaços extras no começo e no final da string, evitando problemas quando alguém digita um nome com espaços sem querer.


String nome = sc.nextLine().trim();

if(listaConvidados.contains(nome)){
    System.out.println("Convidado ja inserido");
} else {
    listaConvidados.add(nome);
}

Neste exemplo, trim() remove espaços extras digitados pelo usuário, ajudando a evitar nomes duplicados por causa de espaços antes ou depois do texto.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!