Telefonbuch

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Telefonbuch
Hi ich weíß jetzt nicht ob ich aufm Schlauch sitz oder…

Aufgabe 2000/9 Aufgabe 11
Da wird verlangt dass man ein Telefonbuch impl. (mit Name Vorname Adresse Telnummer).
kann mal kurz einer das posten wie das ungefähr uausschaut?


So:

class Telefonbuch implements Comparable {
public String Vorname;
public String Nachname;
public String Straße;
public int Hausnummer;
public int Telefonnummer;
public int j = 0;
public int k = 0;

public Telefonbuch(String VN, String NN, String ST, int HN, int TN) {
	this.Vorname = VN;
	this.Nachname = NN;
	this.Straße = ST;
	this.Hausnummer = HN;
	this.Telefonnummer = TN;
}

public int compareTo(Object o) {
	
	Telefonbuch temp = (Telefonbuch)o;
	String t1 = Vorname.toLowerCase();
    String t2 = Nachname.toLowerCase();
    String t3 = temp.Vorname.toLowerCase();
    String t4 = temp.Nachname.toLowerCase();
	
	if(t2.compareTo(t4) == 0) {
        //die Nachnamen sind identisch
        if(t1.compareTo(t3) == 0) {
            //die Vornamen sind identisch
            return 0;
        } else if(t1.compareTo(t3) < 0) {
            //t1 ist kleiner als t3
            return -1;
        } else return 1;
    } else if(t2.compareTo(t4) < 0) {
        return -1;
    } else return 1;
	
}

public String toString() {
	String Adresse;
	Adresse = Nachname + ", " + Vorname + "\n" + Straße + " " + Hausnummer + "\n" + "Tel.: "+ Telefonnummer;
	return Adresse;
}

public static void main(String[] args) {
	Telefonbuch a = new Telefonbuch("Herbert", "Meier", "Hauptstraße", 45, 91517890);
	Telefonbuch b = new Telefonbuch("Hermine", "Müller", "Hauptstraße", 56, 91512642);
	System.out.println(a.compareTo(b));
	System.out.println(a.toString());
}

}


oder so…


Na das ging aber fix!Danke!


Ich wohn in der Musterstr. 6a. Meine Telefonnummer ist mit Nebenstellenanlage 123456789123. Nehm lieber Strings.

Btw. kann man bei diesen Aufgaben Datenkapselung allgemein vernachlaessigen? Dafuer haette ich nun wirklich keine Zeit.


ach ja, bist du umgezogen und hast einen neuen telanschluss :smiley: schenkelklopferbiszumabwinken?
btw: kapselung brauchst du da nicht zu beachten, denke ich.


Wozu dienen eigentlich die beiden “public ints” j und k?
Soweit ich sehen kann tauchen die hinterher nicht mehr auf…


Weiß auch net, wahrscheinlich hab ichs vorher anders probiert und des dann vergessen rauszulöschen…


Kann man des nicht einfacher machen?

z.B:


if(t2.compareTo(t4) == 0) {
	return t1.compareTo(t3);
}
else return t2.compareTo(t4);

Dat is schön kurz. Und warum braucht man des LowerCase?
Damit Mustermann.compareTo(MusterMann) == 0?


Solange Herr Schmidt nicht ausdrücklich Information Hiding verlangt werde ich alles brutalst öffentlich schreiben. das spart eine ganze menge zeit bei bspw. 3 variablen, die man einfach public deklarieren koennte anstatt fuer jede eine get- und eine set-methode zu schreiben.


Bin froh dass es gloffen is, habs ja net mal selber programmiert…