V
verwirrt_ist
Gast
Hallo,
ich habe das Problem, dass ich beim Sammeln von Objekten in einem Vector oder einer ArrayList irgendwie immer die anderen schon enthaltenen Einträge überschreibe:
Mein Objekt ist ein auto in der Klasse Auto:
Verwendet wird es in der Klasse fuhrpark.java:
Die Ausgabe lautet dann wie folgt:
Schritt 0 angelegt wird: hans0 15.0 hh-mm 0 garage0
Vorher:
Nachher:
hans0 hh-mm 0 15.0 garage0
Schritt 1 angelegt wird: hans1 15.1 hh-mm 1 garage1
Vorher:
hans0 hh-mm 0 15.0 garage0
Nachher:
hans1 hh-mm 1 15.1 garage1
hans1 hh-mm 1 15.1 garage1
Schritt 2 angelegt wird: hans2 15.2 hh-mm 2 garage2
Vorher:
hans1 hh-mm 1 15.1 garage1
hans1 hh-mm 1 15.1 garage1
Nachher:
hans2 hh-mm 2 15.2 garage2
hans2 hh-mm 2 15.2 garage2
hans2 hh-mm 2 15.2 garage2
Schritt 3 angelegt wird: hans3 15.3 hh-mm 3 garage3
Vorher:
hans2 hh-mm 2 15.2 garage2
hans2 hh-mm 2 15.2 garage2
hans2 hh-mm 2 15.2 garage2
Nachher:
hans3 hh-mm 3 15.3 garage3
hans3 hh-mm 3 15.3 garage3
hans3 hh-mm 3 15.3 garage3
hans3 hh-mm 3 15.3 garage3
Eigentlich sollte ja nicht mehrfach das gleiche auto wiedergegeben werden, sondern der reihe nach die bisher eingepflegten. Warum passiert das nicht?
vielen Dank für eure hilfe!
Flo
L-ectron-X hat diesen Beitrag am 23.01.2008 um 09:43 editiert.
Code-Tags repariert.
ich habe das Problem, dass ich beim Sammeln von Objekten in einem Vector oder einer ArrayList irgendwie immer die anderen schon enthaltenen Einträge überschreibe:
Mein Objekt ist ein auto in der Klasse Auto:
Code:
public class auto {
public auto(String fahrer,String kennzeichen,String alter,String standort){
super();
this.fahrer=fahrer;
this.alter=alter;
this.kennzeichen=kennzeichen;
this.standort=standort;
}
private static String fahrer;
private static String kennzeichen;
private static String alter;
private static String standort;
//[...Getter+Setter]
}
Verwendet wird es in der Klasse fuhrpark.java:
Code:
package flottenverwalter;
import java.util.ArrayList;
public class main {
//private static Vector<auto> fuhrpark=new java.util.Vector<auto>();
private static ArrayList<auto> fuhrpark = new ArrayList<auto>();
public main() {
// TODO Auto-generated constructor stub
}
private static void fuhrparkanlegen(int anz){
for (int i=0;i<anz;i++){
System.out.println("Schritt "+i+" angelegt wird: "+"hans"+i+ " 15."+i+" hh-mm "+i + " garage"+i);
System.out.println("Vorher:");
for (int j=0;j<i;j++){
System.out.println(fuhrpark.get(j).getFahrer()+" "+fuhrpark.get(j).getAlter()+" "+fuhrpark.get(j).getKennzeichen()+" "+fuhrpark.get(j).getStandort());
}
fuhrpark.add(i,new auto("hans"+i, "15."+i,"hh-mm "+i,"garage"+i));
System.out.println("Nachher:");
for (int j=0;j<i+1;j++){
System.out.println(fuhrpark.get(j).getFahrer()+" "+fuhrpark.get(j).getAlter()+" "+fuhrpark.get(j).getKennzeichen()+" "+fuhrpark.get(j).getStandort());
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
fuhrparkanlegen(4);
}
}
Die Ausgabe lautet dann wie folgt:
Schritt 0 angelegt wird: hans0 15.0 hh-mm 0 garage0
Vorher:
Nachher:
hans0 hh-mm 0 15.0 garage0
Schritt 1 angelegt wird: hans1 15.1 hh-mm 1 garage1
Vorher:
hans0 hh-mm 0 15.0 garage0
Nachher:
hans1 hh-mm 1 15.1 garage1
hans1 hh-mm 1 15.1 garage1
Schritt 2 angelegt wird: hans2 15.2 hh-mm 2 garage2
Vorher:
hans1 hh-mm 1 15.1 garage1
hans1 hh-mm 1 15.1 garage1
Nachher:
hans2 hh-mm 2 15.2 garage2
hans2 hh-mm 2 15.2 garage2
hans2 hh-mm 2 15.2 garage2
Schritt 3 angelegt wird: hans3 15.3 hh-mm 3 garage3
Vorher:
hans2 hh-mm 2 15.2 garage2
hans2 hh-mm 2 15.2 garage2
hans2 hh-mm 2 15.2 garage2
Nachher:
hans3 hh-mm 3 15.3 garage3
hans3 hh-mm 3 15.3 garage3
hans3 hh-mm 3 15.3 garage3
hans3 hh-mm 3 15.3 garage3
Eigentlich sollte ja nicht mehrfach das gleiche auto wiedergegeben werden, sondern der reihe nach die bisher eingepflegten. Warum passiert das nicht?
vielen Dank für eure hilfe!
Flo
L-ectron-X hat diesen Beitrag am 23.01.2008 um 09:43 editiert.
Code-Tags repariert.