I
IchDa
Gast
Hallo zusammen
Ich frag mich jetzt schon über 4h warum folgendes nicht geht:
Ich versuche sozusagen eine Adressverwaltung zu erstellen um Java zu lernen.
Man gehe davon aus, dass ich eine Datei habe, worin all die einzelnen Adressen gespeichert werden.
Logischerweise (zumindest für mich) ist 1 Adresse = 1 Adressobjekt(Name, Strasse, PLZ, Ort).
Jetzt wird bis zum ende der Datei eingelesen: 1 Zeile = Name, Nächste Zeile = Strasse usw. und dann gehts wieder von vorne loss. Sobald ein Adressobjekt vollständig ist, soll es in ein Vektor eingelaggert werden.
Das Problem ist aber, dass wenn ich das geänderte Objekt "adrtemp" in den Vektor als neues element anfüge, alle elemente im Vektor diese Änderungen annehmen. Was kann ich dagegen tun???
Ich hoffe ihr könnt mit meinen Angaben was anfangen...
Danke schon mal für die hilfe
Gruss Tobias
hier der Code:
Ich frag mich jetzt schon über 4h warum folgendes nicht geht:
Ich versuche sozusagen eine Adressverwaltung zu erstellen um Java zu lernen.
Man gehe davon aus, dass ich eine Datei habe, worin all die einzelnen Adressen gespeichert werden.
Logischerweise (zumindest für mich) ist 1 Adresse = 1 Adressobjekt(Name, Strasse, PLZ, Ort).
Jetzt wird bis zum ende der Datei eingelesen: 1 Zeile = Name, Nächste Zeile = Strasse usw. und dann gehts wieder von vorne loss. Sobald ein Adressobjekt vollständig ist, soll es in ein Vektor eingelaggert werden.
Das Problem ist aber, dass wenn ich das geänderte Objekt "adrtemp" in den Vektor als neues element anfüge, alle elemente im Vektor diese Änderungen annehmen. Was kann ich dagegen tun???
Ich hoffe ihr könnt mit meinen Angaben was anfangen...
Danke schon mal für die hilfe
Gruss Tobias
hier der Code:
Code:
c=0;
while(temp != null){
switch(c){//Anzahl Eigenschaften
case 0://Name
adrtemp.setName(VName, NName);
break;
case 1://Strasse
adrtemp.setStrasse(temp);
break;
case 2://PLZ
int postleizahl=0;
Integer PLZtemp = new Integer(temp);
postleizahl = PLZtemp.intValue();
adrtemp.setPLZ(postleizahl);
break;
case 3://Ort
adrtemp.setOrt(temp);
break;
case 4://Telefonnr.
adrtemp.setTelefon(temp);
break;
case 5://Beruf
adrtemp.setBeruf(temp);
data.addElement(adrtemp);
c=-1;
break;
default:
System.out.println("Programmfehler beim lesen der Datei");
break;
}
temp = br.readLine();
c++;
}