Проверил, получил Иван имя, Иванов фамилия.
Метод getContactFirstName() должен вернуть строку состоящую из имени (смотри примеры). Фамилию и имя нужно взять из метода getName() объекта сontact.
Это мне валидатор говорит
package com.javarush.task.task19.task1905;
import java.util.HashMap;
import java.util.Map;
/*
1. Класс Solution должен содержать public static поле countries типа Map<String, String>.
2. В статическом блоке класса Solution инициализируй поле countries тестовыми данными согласно заданию.
6. Класс DataAdapter должен реализовывать интерфейс RowItem.
7. Класс DataAdapter должен содержать два приватных поля: customer типа Customer и contact Contact.
8. Класс DataAdapter должен содержать конструктор с параметрами (Customer customer, Contact contact), который инициализирует поля contact и customer.
9. В классе DataAdapter реализуй методы интерфейса RowItem используя подсказки в виде комментариев в интерфейсах.
*/
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) {
}
public static class DataAdapter implements RowItem{
private Customer customer = null;
private Contact contact = null;
public DataAdapter(Customer customer, Contact contact) {
this.contact = contact;
this.customer = customer;
}
@Override
public String getCountryCode() {
String result = "";
String countryName = customer.getCountryName();
for(Map.Entry<String,String> entry : countries.entrySet()){
if(entry.getValue().equals(countryName)) result = entry.getKey();
}
return result;
}
@Override
public String getCompany() {
return customer.getCompanyName();
}
@Override
public String getContactFirstName() {
String[] name = contact.getName().split(" ,");
return name[1];
}
@Override
public String getContactLastName() {
String[] name = contact.getName().split(" ,");
return name[0];
}
@Override
public String getDialString() {
String phoneNumber = contact.getPhoneNumber();
return "callto://" + phoneNumber.replaceAll("[^0-9]", "");
}
}
public static interface RowItem {
String getCountryCode(); //For example: UA
String getCompany(); //For example: JavaRush Ltd.
String getContactFirstName(); //For example: Ivan
String getContactLastName(); //For example: Ivanov
String getDialString(); //For example: callto://+380501234567
}
public static interface Customer {
String getCompanyName(); //For example: JavaRush Ltd.
String getCountryName(); //For example:
}
public static interface Contact {
String getName(); //For example: Ivanov, Ivan
String getPhoneNumber(); //For example: +38(050)123-45-67 or +3(805)0123-4567 or +380(50)123-4567 or ...
}
}