CodeGym
Aktion
CodeGym University
Lernen
Kurs
Aufgaben
Umfragen & Quizze
Spiele
Hilfe
Zeitplan für einen Tritt in den Hintern
Community
Benutzer
Forum
Chat
Artikel
Erfolgsstorys
Aktivität
Rezensionen
Abonnements
Helles Design
Jetzt lernen
  • Alle Fragen
hidden #10625598
Level 23
  • 28.06.2020
  • 339Aufrufe
  • 1Kommentar

der fehler hier ist wahrscheinlich vom ausgegebenen satz?

Frage zur Aufgabe Adapter stärken
Java Core,  Level 9,  Lektion 3
Archiviert

Adaptiere Customer und Contact an RowItem.
Die Adapterklasse ist DataAdapter.

Initialisiere countries, bevor das Programm ausgeführt wird. Zuordnung zwischen Ländercodes und Ländernamen:
UA Ukraine
US Vereinigte Staaten von Amerika
FR Frankreich

Anforderungen:
  • Die Solution-Klasse muss das Feld public static Map<String, String> countries besitzen.
  • Initialisiere das countries-Feld in einem static-Block der Solution-Klasse mit den in der Aufgabe angegebenen Testdaten.
  • Die Solution-Klasse muss ein RowItem-Interface haben.
  • Die Solution-Klasse muss ein Contact-Interface haben.
  • Die Solution-Klasse muss ein Customer-Interface haben.
  • Die DataAdapter-Klasse muss das RowItem-Interface implementieren.
  • Die DataAdapter-Klasse muss zwei private Felder enthalten: Customer customer und Contact contact.
  • Die DataAdapter-Klasse muss einen Konstruktor mit den Parametern (Customer customer, Contact contact) besitzen. Er muss die contact- und customer-Felder initialisieren.
  • Implementiere die Methoden des RowItem-Interface in der DataAdapter-Klasse unter Verwendung der Kommentare in den Interfaces.
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. } }
0
Kommentare (1)
  • Beliebt
  • Neu
  • Alt
Du musst angemeldet sein, um einen Kommentar schreiben zu können
Alfred Walther
Level 24 , Frankfurt, Deutschland
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:
public String getContactFirstName() {
    String[] data = contact.getName().split(", ");
    return data[1];
}
+1
Lernen
  • Registrierung
  • Java-Kurs
  • Hilfe zu Aufgaben
  • Preise
  • Spieleprojekte
  • Java Syntax
Community
  • Benutzer
  • Artikel
  • Forum
  • Chat
  • Erfolgsstorys
  • Aktivität
  • Affiliate Program
Unternehmen
  • Über uns
  • Kontakt
  • Rezensionen
  • Medien
  • CodeGym im Bildungsbereich
  • FAQ
  • Support
CodeGym CodeGym ist ein Java-Tutorial zum Lernen von Java von Grund auf. Dieser Kurs ist perfekt dafür geeignet, Java von Beginn an zu meistern. Er enthält über 1200 Aufgaben mit Sofortüberprüfung und grundlegende Theorie zu den Java-Grundlagen. Damit auch du bei deinem Kurs erfolgreich bist, haben wir eine ganze Reihe motivierender Inhalte: Quizfragen, Programmierprojekte, Inhalte zu effizientem Lernen und zum Berufseinstieg als Java-Entwickler.
Folgen
Sprache der Oberfläche
Programmierer werden gemacht, nicht geboren © 2023 CodeGym
MastercardVisa
Programmierer werden gemacht, nicht geboren © 2023 CodeGym
This website uses cookies to provide you with personalized service. By using this website, you agree to our use of cookies. If you require more details, please read our Terms and Policy.