Exercícios:
PARTE 1
Para o exercício proposto, vamos criar uma classe em Java que lê o endereço de e-mail do console,
e depois chama um método para simular o envio desse e-mail usando Thread.sleep(5000)
para simular o tempo de envio.
Introduzindo a interação com o usuário e a simulação de operações de longa duração, como o envio de um e-mail.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String email;
do {
System.out.println("Digite os endereços de e-mail para envio (digite 'SAIR' para finalizar):");
email = scanner.nextLine();
// Apenas enviar o e-mail se o usuário não digitou "SAIR"
if (!email.equalsIgnoreCase("SAIR")) {
enviarEmail(email);
}
} while (!email.equalsIgnoreCase("SAIR"));
System.out.println("Finalizado. Todos os e-mails foram enviados (ou pelo menos tentamos).");
}
private static void enviarEmail(String email) {
System.out.println("Preparando para enviar e-mail para: " + email);
try {
// Simular o tempo de envio do e-mail
Thread.sleep(5000);
System.err.println("E-mail enviado com sucesso para: " + email);
} catch (InterruptedException e) {
System.err.println("A thread foi interrompida durante a espera.");
}
}
}
PARTE 2
Com base no código, altere de modo que o usuário não precise aguardar o envio de cada e-mail individualmente, mas sim colete todos os endereços de e-mail em uma lista e posteriormente percorra essa lista chamando o método de envio para cada endereço.
PARTE 3
Separe as responsabilidades para uma classe de EmailSender.