метод getCountryCode() говорит не правильно работает где здесь ошибка
package com.javarush.task.task19.task1905;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/*
Закрепляем адаптер
*/
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) {
Customer customer = new Customer() {
@Override
public String getCompanyName() {
return "JavaRush Ltd.";
}
@Override
public String getCountryName() {
return "Canada";
}
};
Contact contact = new Contact() {
@Override
public String getName() {
return "Ivanov, Ivan";
}
@Override
public String getPhoneNumber() {
return "+380(50)123-4567";
}
};
RowItem rowItem = new DataAdapter(customer,contact);
System.out.println(rowItem.getCountryCode());
}
public static class DataAdapter implements RowItem{
private Customer customer;
private Contact contact;
public DataAdapter(Customer customer, Contact contact) {
this.customer = customer;
this.contact = contact;
}
@Override
public String getCountryCode() {
String s = customer.getCountryName();
for (Map.Entry<String,String>entry:countries.entrySet()){
if (s.equals(entry.getValue())){
return entry.getValue();
}
}
return null;
}
@Override
public String getCompany() {
return customer.getCompanyName();
}
@Override
public String getContactFirstName() {
String[] s = contact.getName().split(" ");
return s[1];
}
@Override
public String getContactLastName() {
String[] s = contact.getName().split(" ");
char[] charArray = s[0].toCharArray();
String lastName = "";
for (int i = 0; i < charArray.length; i++) {
if (Character.isAlphabetic(charArray[i])){
lastName += String.valueOf(charArray[i]);
}
}
return lastName;
}
@Override
public String getDialString() {
String s = contact.getPhoneNumber();
char[] chars = s.toCharArray();
String digit = "";
for (int i = 0; i < chars.length; i++) {
if (Character.isDigit(chars[i])){
digit += String.valueOf(chars[i]);
}
}
String string = "callto://";
return String.format("%s+%s",string,digit);
}
}
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: Ukraine
}
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 ...
}
}