import java.util.Scanner;
public class EmailValidator {
public static boolean isValidEmail(String email) {
if (email == null) {
return false;
}
// 1. Проверяем, что в строке ровно один символ '@'
int atIndex = email.indexOf('@');
if (atIndex == -1 || atIndex != email.lastIndexOf('@')) {
return false;
}
// Разделяем почту на имя пользователя и домен
String localPart = email.substring(0, atIndex);
String domain = email.substring(atIndex + 1);
// Имя пользователя не должно быть пустым
if (localPart.isEmpty()) {
return false;
}
// 2. В домене должна быть хотя бы одна точка
int dotIndex = domain.indexOf('.');
if (dotIndex == -1) {
return false;
}
// Разделяем домен по точкам
String[] domainParts = domain.split("\\.");
// Проверяем каждую часть домена на пустоту
for (String part : domainParts) {
if (part.isEmpty()) {
return false;
}
}
// Домен должен содержать минимум две части (например, "domain.com")
if (domainParts.length < 2) {
return false;
}
return true;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Введите email для проверки (или напишите 'exit' для выхода):");
while (true) {
System.out.print("> ");
String input = scanner.nextLine().trim();
// Условие выхода из программы
if (input.equalsIgnoreCase("exit")) {
System.out.println("Программа завершена.");
break;
}
// Проверяем введенную строку
if (isValidEmail(input)) {
System.out.println("✅ Email корректный!\n");
} else {
System.out.println("❌ Email НЕкорректный. Попробуйте снова.\n");
}
}
scanner.close();
}
}