TelefonBuch in Java

Cortadillo

Mitglied
Hallo,

soll für die Uni ein bestehendes Telefonbuch erweitern.

VorhanDen;
ein Telefonbuch mit Oberfläche
Klasse Einträge mit Informationen zu Person (eigene Klasse),
Anschrift (eigene Klasse)
Telefonnummer (eigne Klasse)

Was gesucht ist:
-Einträge in persistent in geeigneten Dateien zu verwalten.
(z.B. eine Datei für jeden Ort)
-Einträge sollen erst nach Vorwahl und dann nach Telefonnummer geordnet abgespeichert vorliegen...
Suche (nach Name und Vorname, eventuell Ort)

ich müsste ich 2 Aspekte speichern?
-eine Liste über die verschiedenen Orte/Telefonbücher
-einmal die Einträge zu jedem dieser Orte


könnt ihr mir da methodische Hinweise geben?
--> vor allem betreffend Datenhaltung
-- Filter und Sortieren?

DANKE
 
Zuletzt bearbeitet:
Hallo,

darfst du andere Frameworks nutzen?

Dann würde ich dir nämlich vorschlagen, das ganze mit XML zu lösen. Dazu kannst du dann einen der folgen Mapper nutzen.
JAXB
XMLBeans
Castor
JBind
JBiX

Sollen die in der richtigen Reihenfolgen abgespeichert werden oder nur angezeigt werden?

MFG

zEriX
 
wie ich das verstanden habe, sollen sie geordnet abgespeichert sein.
und vermutlich ohne Verwendung eines Mappers.

bin selbst etwas voran gekommen.

habe eine sortierte ArrayList gefüllt
Code:
if (eingabeModus) {
      Person p = new Person(jc_anrede.getSelectedItem().toString(),
                            jt_vorname.getText(), jt_name.getText());
      Anschrift a = new Anschrift(jt_strasse.getText(), jt_hausnr.getText(),
                                  jt_postleitzahl.getText(),
                                  jt_ort.getText(), jt_zusatz.getText());
      TeleNummer t = new TeleNummer(jt_vorwahl.getText(),
                                    jt_nummer.getText(),
                                    jc_anschluss.getSelectedItem().
                                    toString());
      System.out.println(p.toString() + a.toString() + t.toString());
      Eintrag e = new Eintrag(p, t, a);
mit folgendem wird ein neuer Eintrag angelegt und gleich sortiert
Code:
public boolean neuenEintragAnlegen(Eintrag e) {
    tbL.add(e);
    Collections.sort(tbL);
    indexAktuell=tbL.size()-1;
    this.setChanged();
    this.notifyObservers();
    return true;
  }
implementiert werden soll dann eine Suche nach Vorname,Name,Ort (dieser optional)
wie komme ich daran? (tbl ist als List definiert)
Code:
public TelBuch1() {
    tbL = new ArrayList();
  }

Danke
 
Ist das ne Übung oder ist das ein Auftrag der Uni?


Du kannst bei einer Liste leicht über den Index zugreifen.
Code:
Eintrag e = (Eintrag)tbl.get(0);

Wenn du mit Java 5 arbeitest, dann kannst du das auch so machen, dann brauchst du nicht zu casten.
Code:
List<Eintrag> tbl = new ArrayList<Eintrag>();
// Einträge hinzufügen
Eintrag e = tbl.get(0);
MFG

zEriX
 
Zuletzt bearbeitet:
so beides.

einerseits muss ich es machen als Schein;
und habs nicht ohne Hilfe hinbekommen.
(hab mich allerdings eigentlich nur mit c# beschäftigt und insgesamt nur wenig
mit Collections)

andererseits will ich auch selbst verstehen, wie es funkt.

Danke, das (Eintrag) hilft.

ich versuchte direkt auf (Person) zu casten, dass nahm mir aber eclipse übel.
 
Mit "==" wird geschaut, ob es sich um das gleiche Object handelt. Also ob die Objecte an der gleichen Speicherstelle liegen.

Mit equals wird geprüft ob die Objecte gleich sind. Also ob der "Inhalt" der Objecte gleich ist. Deshalb ist es auch wichtig wenn du selbst Models oder ähnliches schreibst, dass du die equals-Methode überschreibst.

MFG

zEriX
 

Neue Beiträge

Zurück