/
Elyumusa
/
SberJavaCourseBeginner
Обзор
Документация
Войти
/
Elyumusa
/
SberJavaCourseBeginner
Код
Запросы
2
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/hw2/task2/Main.java
58 строк
3 KB
Elyumusa
Обновленo ДЗ 2 Задача 2
04 апр 2025, 03:02
04 апр 2025, 03:02
3e1bdde
Код
Авторство
О чём код?
package hw2.task2; import java.util.Scanner; public class Main { public static void main(String[] args) { System.out.println("Hello world!"); String input=""; Scanner scanner= new Scanner(System.in); while(!input.equals("end")){ System.out.print(""" Введите “1” для обработки ФИО и \n “2” для обработки email """); input = scanner.next(); switch(input){ case "1": scanner.nextLine(); System.out.print("Введите ФИО: "); String fio = scanner.nextLine(); try{ System.out.printf("ФИО: %s\n", formatFullName(fio)); break; } catch(WrongNameException e){ System.out.println("Error:" + e.getMessage()); } break; case "2": System.out.print("Введите email: "); String email = scanner.next(); try{ System.out.printf("Email: %s\n", formatEmail(email)); break; } catch(WrongEmailException e){ System.out.println("Error:" + e.getMessage()); } break; default: System.out.println("Введите корректное значение"); break; } } } public static String formatFullName(String fullName) throws WrongNameException{ if(!fullName.matches("[А-Я][а-я]+\\s[А-Я][а-я]+\\s[А-Я][а-я]+")){ throw new WrongNameException("ФИО должно быть в формате 'Фамилия Имя Отчество, И только допустимые буквы алфавита"); } String[] fullNameParts = fullName.split(" "); return "%s %s %s".formatted(fullNameParts[0], fullNameParts[1], fullNameParts[2].charAt(0)); } public static String formatEmail(String email) throws WrongEmailException{ if(!email.matches(".+@.+\\..+")){ throw new WrongEmailException("введите действительный адрес электронной почты"); } return email.charAt(0) + "***" + email.substring(email.indexOf("@")); } }