Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Desafio resolvido

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

public class ControleAcessoConvidado {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        ArrayList<String> convidados = new ArrayList<>();

        while (true) {
            System.out.print("Digite o nome do convidado (ou 'ver' para visualizar a lista, 'sair' para terminar): ");
            String nome = scanner.nextLine().trim();

            if (nome.equalsIgnoreCase("sair")) {
                System.out.println("Programa finalizado.");
                break;
            }

            if (nome.equalsIgnoreCase("ver")) {
                System.out.println("Lista atualizada de convidados: " + convidados);
                continue;
            }

            boolean jaExiste = false;
            for (String convidado : convidados) {
                if (convidado.toLowerCase().equals(nome.toLowerCase())) {
                    jaExiste = true;
                    break;
                }
            }

            if (jaExiste) {
                System.out.println("O nome " + nome + " já está na lista de convidados.");
            } else {
                convidados.add(nome);
                System.out.println(nome + " foi adicionado à lista de convidados.");
            }

        }

        scanner.close();
    }
}
2 respostas

Olá, Aldeny, como vai?

O código atende muito bem aos requisitos do desafio proposto, utilizando corretamente a classe ArrayList para o gerenciamento dinâmico dos nomes e a estrutura de repetição while para manter o programa em execução. É interessante notar que o uso do método equalsIgnoreCase e a lógica de verificação com o laço for garantem que o sistema não duplique nomes independentemente do uso de letras maiúsculas ou minúsculas, o que demonstra uma boa atenção aos detalhes de usabilidade.

Parabéns por concluir o exercício e por compartilhar sua solução com a comunidade, continue praticando os conceitos de coleções e laços de repetição.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!
solução!

Olá, Mike!

Muito obrigado pelo feedback e pela análise do código. Fico feliz em saber que a utilização do ArrayList, do while e da verificação com equalsIgnoreCase contribuíram para atender bem aos requisitos do desafio.

Seguirei praticando os conceitos de coleções e estruturas de repetição para evoluir cada vez mais.

Agradeço pelo apoio!