/
Skob.m.a
/
WorkSpace
Обзор
Документация
Войти
/
Skob.m.a
/
WorkSpace
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Task_13_5
47 строк
2 KB
Skob.m.a
create Task_13_5
01 дек 2024, 23:10
01 дек 2024, 23:10
efbee4a
Код
Авторство
О чём код?
public class PhoneNumber { private String countryCode; private String formattedNumber; public PhoneNumber(String phoneNumber) { parsePhoneNumber(phoneNumber); } private void parsePhoneNumber(String phoneNumber) { if (phoneNumber.startsWith("+")) { countryCode = phoneNumber.substring(1, phoneNumber.length() - 10); String number = phoneNumber.substring(phoneNumber.length() - 10); formattedNumber = formatNumber(number); } else if (phoneNumber.startsWith("8")) { countryCode = "7"; String number = phoneNumber.substring(1); formattedNumber = formatNumber(number); } else { throw new IllegalArgumentException("Неверный формат телефонного номера."); } } private String formatNumber(String number) { if (number.length() != 10) { throw new IllegalArgumentException("Номер должен содержать 10 цифр."); } return String.format("+%s%s-%s-%s", countryCode, number.substring(0, 3), number.substring(3, 6), number.substring(6)); } public String getFormattedNumber() { return formattedNumber; } public static void main(String[] args) { try { PhoneNumber phone1 = new PhoneNumber("+79168885755"); System.out.println(phone1.getFormattedNumber()); PhoneNumber phone2 = new PhoneNumber("89173639655"); System.out.println(phone2.getFormattedNumber()); PhoneNumber phone3 = new PhoneNumber("+104288156211"); System.out.println(phone3.getFormattedNumber()); } catch (IllegalArgumentException e) { System.out.println(e.getMessage()); } } }