Java: Telefonbuch programmieren?
Hallo zusammen,
ich habe folgende Aufgabe bekommen:
Erstellen Sie eine Klasse TelephoneEntry, mit der Sie den Namen und die Telefonnummer einer Person erfassen können. Entwickeln Sie eine weitere Klasse TelephoneList, die Objekte der Klasse TelephoneEntry verwaltet. Implementieren Sie das Interface TelephoneListSpec mit folgenden Methoden (siehe folgende Funktionalitäten). Das Interface interagiert mit der Klasse TelephoneList.
Die Liste soll folgende Funktionalitäten bieten:
- Eintrag anlegen (add)
- Eintrag löschen (remove)
- Nach einer Person suchen (seek)
- Eine Telefonnummer identifizieren (identify)
Wählen Sie als Datenstruktur zur Verwaltung der Einträge eine ArrayList.
Erstellen Sie ebenfalls auch die Dokumentation für Ihre Klassen.
Meine Frage:
Ich komme nicht weiter. Ich weiß nicht, wie ich die Methoden (add und alle anderen Methoden) implementieren soll. Ich stehe da voll auf dem Schlauch gerade und brauche Hilfe.
Hier ist meine Klasse TelephoneEntry:
public class TelephoneEntry {
// Fields
private String name;
private String telefonnummer;
// Getter und Setter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTelefonnummer() {
return telefonnummer;
}
public void setTelefonnummer(String telefonnummer) {
this.telefonnummer = telefonnummer;
}
public TelephoneEntry(String name, String telefonnummer) {
this.name = name;
this.telefonnummer = telefonnummer;
}
Hier ist meine Klasse TelephoneList:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class TelephoneList implements TelephoneListSpec {
// Fields
public String name;
public int telefonnummer;
private ArrayList<TelephoneEntry> liste = new ArrayList<>();
Scanner sc = new Scanner(System.in);
public void add() {
}
public void remove() {
}
public void seek() {
}
public void identify() {
}
public void menu() {
}
}
1 Antwort
Schau dir zunächst die Klasse ArrayList genauer an. Sie liefert dir bereits hilfreiche Methoden, zu denen du nur noch die Argumente liefern musst. Deine Methoden sind in dem Sinne z.T. nur zum Durchreichen dieser Informationen.
Ich werde an dieser Stelle ein Beispiel für eine Methode angeben, mit der man einen Eintrag ersetzen könnte:
public void replaceAt(TelephoneEntry entry, int index) {
liste.set(index, entry);
}
Nimm dir dieses Beispiel als Vorbild für die weiteren Methoden.
Für seek und identify wirst du allerdings noch etwas mehr Logik einbauen müssen. Es geht im Grunde darum, durch die Telefoneinträge zu iterieren und nach den jeweiligen Informationen zu suchen. Nutze dafür elementare Strukturen wie if und for.
danke dir ich hab manchmal einfach nur so schreibblockaden wo ich nicht weiter weis und mich echt dumm anstelle danke dir aufjedenfall
PS.: Ja, die Methode aus meinem Beispiel beachtet nicht den Fall, dass der Index größer als die Anzahl an Elementen in der Liste sein könnte. Dies halte ich in diesem Fall aber einmal für unwichtig, es soll ja nur ein exemplarisches Beispiel sein.