/
alim4ik-had
/
SberJavaCourseBeginner
Обзор
Документация
Войти
/
alim4ik-had
/
SberJavaCourseBeginner
Код
Запросы
2
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
hw2/task2/MaskProgram.java
95 строк
3 KB
alimo
task2_completed
09 мар 2025, 13:27
09 мар 2025, 13:27
0a75595
Код
Авторство
О чём код?
package hw2.task2; import java.util.InputMismatchException; import java.util.Scanner; import hw2.task2.customExceptions.WrongEmailException; import hw2.task2.customExceptions.WrongNameException; public class MaskProgram { public static void main(String[] args) { notice(); selectOperation(); } private static void notice(){ System.out.println("Введите номер операции:\n" + "1. Маскировка ФИО\n" + "2. Маскировка email"); } private static void selectOperation(){ Scanner sc; while (true) { sc = new Scanner(System.in); try { int numberOper = sc.nextInt(); switch (numberOper) { case 1: maskName(); return; case 2: maskEmail(); return; default: System.out.println("Введен неправльный номер!"); notice(); } } catch (InputMismatchException e) { System.out.println("Введен неправльный формат!"); notice(); } } } private static void maskName(){ boolean validValue = false; Scanner sc; String[] name; while (!validValue) { sc = new Scanner(System.in); System.out.println("Введите ФИО:"); name = sc.nextLine().split(" "); try { for (String elem : name) { if (!elem.replaceAll("[a-zA-Zа-яА-Я]", "").isEmpty()) { throw new WrongNameException("Неправльный формат ФИО! Пример ввода: Алимов Хадис Вялитович"); } } if(name.length != 3){ throw new WrongNameException("Неправльный формат ФИО! Пример ввода: Алимов Хадис Вялитович"); } validValue = true; String maskName = name[1] + " " + name[2] + " "+ name[0].charAt(0) + "."; System.out.println(maskName); } catch (WrongNameException e) { e.printMessage(); } } } private static void maskEmail(){ boolean validValue = false; Scanner sc; String[] email; while (!validValue){ System.out.println("Введите email:"); sc = new Scanner(System.in); try{ email = checkEmail(sc.nextLine()).split("@"); String maskEmail = email[0].charAt(0) + "***@"+email[1]; System.out.println(maskEmail); validValue = true; }catch (WrongEmailException e){ e.printMessage(); } } } private static String checkEmail(String email){ int newEmailLength = email.replaceAll("@", "").length(); if(email.length() - newEmailLength != 1){ throw new WrongEmailException("Неверный формат email"); } else if (email.startsWith("@") || email.endsWith("@")) { throw new WrongEmailException("Неверный формат email"); } return email; } }