Загрузка данных


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();
    }
}