package de.codegym.task.task19.task1905;
import java.util.HashMap;
import java.util.Map;
/*
Adapter stärken
*/
public class Solution {
public static Map<String,String> countries = new HashMap<>();
static{
countries.put("UA", "Ukraine");
countries.put("US", "United States");
countries.put("FR", "France");
//countries.put("UA", "Ukraine");
//countries.put("US", "Vereinigte Staaten von Amerika");
//countries.put("FR", "Frankreich");
}
public static void main(String[] args) {
}
public static class DataAdapter implements RowItem {
private Customer customer;
private Contact contact;
public DataAdapter(Customer customer, Contact contact) {
this.customer = customer;
this.contact = contact;
}
public String getCountryCode(){
return countries.get(customer.getCountryName());
}
public String getCompany(){
return customer.getCompanyName();
}
public String getContactFirstName(){
String fullName = contact.getName();
String firstName = null;
for(int i = 0; i < fullName.length(); i++){
if(i == ' '){
firstName = fullName.substring(0, i);
}
}
return firstName;
}
public String getContactLastName(){
String fullName = contact.getName();
String lastName = null;
for(int i = 0; i < fullName.length(); i++){
if(i == ' '){
lastName = fullName.substring(i + 1, fullName.length());//+1?
}
}
return lastName;
}
public String getDialString(){
return "callto: //" + contact.getPhoneNumber();
}
}
public static interface RowItem {
String getCountryCode();
String getCompany();
String getContactFirstName();
String getContactLastName();
String getDialString();// Beispiel: callto://+11112223333
}
public static interface Customer {
String getCompanyName(); // Beispiel: CodeGym Ltd.
String getCountryName(); // Beispiel: United States
}
public static interface Contact {
String getName(); // Beispiel: Peterson, John
String getPhoneNumber(); // Beispiel: +1(111)222-3333, +3(805)0123-4567, +380(50)123-4567 usw.
}
}
hidden #10625598
Level 23
der fehler hier ist wahrscheinlich vom ausgegebenen satz?
Archiviert
Kommentare (1)
- Beliebt
- Neu
- Alt
Du musst angemeldet sein, um einen Kommentar schreiben zu können
Alfred Walther
13 August 2020, 13:06
Es ist einfacher, wenn du String.split() verwendest. Dann brauchst Du keine Schleife.
Außerdem musst du noch die Sonderzeichen bei der Telefonnummer entfernen...
Beispiel:
+1