Задачу решила. Но остался вопрос: когда запускаю программу с номером телефона, который начинается на ноль (например, 0501234567), то на выходе совершенно другой номер. Как так? И как сделать, чтобы в результате был правильный номер? package com.javarush.task.task19.task1903; /* Адаптация нескольких интерфейсов */ import java.util.ArrayList; import java.util.HashMap; import java.util.Map; public class Solution { public static Map<String, String> countries = new HashMap<String, String>(); static { countries.put("UA","Ukraine"); countries.put("RU","Russia"); countries.put("CA","Canada"); } public static void main(String[] args) { IncomeDataAdapter ida = new IncomeDataAdapter(new IncomeDataImpl()); System.out.println(ida.getPhoneNumber()); //example +38(050)123-45-67 } public static class IncomeDataImpl implements IncomeData { @Override public String getCountryCode() { return "UA"; } @Override public String getCompany() { return "JavaRush Ltd"; } @Override public String getContactFirstName() { return "Ivan"; } @Override public String getContactLastName() { return "Ivanov"; } @Override public int getCountryPhoneCode() { return 38; } @Override public int getPhoneNumber() { return 0501234567; } } public static class IncomeDataAdapter implements Customer, Contact{ private IncomeData data; public IncomeDataAdapter(IncomeData incomeData){ this.data = incomeData; } public String getCompanyName() { return data.getCompany(); } public String getCountryName() { String country = ""; for (Map.Entry<String, String> s : countries.entrySet()) { if(s.getKey() == data.getCountryCode()) country = s.getValue(); } return country; } public String getName() { return data.getContactLastName() + ", " + data.getContactFirstName(); } public String getPhoneNumber() { String s = String.valueOf(data.getPhoneNumber()); String phoneNumber = ""; while (s.length() < 10){ s = "0"+s; } phoneNumber = "+" + data.getCountryPhoneCode() + "("+ s.substring(0,3) + ")" + s.substring(3,6) + "-" + s.substring(6,8) + "-" + s.substring(8,10); return phoneNumber; } } public static interface IncomeData { String getCountryCode(); //For example: UA String getCompany(); //For example: JavaRush Ltd. String getContactFirstName(); //For example: Ivan String getContactLastName(); //For example: Ivanov int getCountryPhoneCode(); //For example: 38 int getPhoneNumber(); //For example: 501234567 } public static interface Customer { String getCompanyName(); //For example: JavaRush Ltd. String getCountryName(); //For example: Ukraine } public static interface Contact { String getName(); //For example: Ivanov, Ivan String getPhoneNumber(); //For example: +38(050)123-45-67 } }