Beim Einfügen eines Objekts in einen Vector wird zwar der Vector erweitert, aber das
bisher eingefügte Objekt durch das neue Objekt überschrieben. In meinem Fall geht es um die Ziehung von Lottozahlen, die in einen Vektor gespeichert werden sollen. Nach der 1.Ziehung werden die Zahlen im Index 0 des Vektors mit add gespeichert, nach der 2.Ziehung zwar im Index 1, wie vorgesehen, aber auch im Index 0, so dass die Zahlen der 1.Ziehung überschrieben werden. Das Problem könnte vielleicht sein, das nach jeder Ziehung die speichere-Methode beendet wird, dies ist aber nicht zu umgehen.
PS: vor vielen Jahren gab es hier im Forum unter dem gleichen Titel die Schilderung des gleichen Problems, allerdings wurde damals keine Lösung gefunden
bisher eingefügte Objekt durch das neue Objekt überschrieben. In meinem Fall geht es um die Ziehung von Lottozahlen, die in einen Vektor gespeichert werden sollen. Nach der 1.Ziehung werden die Zahlen im Index 0 des Vektors mit add gespeichert, nach der 2.Ziehung zwar im Index 1, wie vorgesehen, aber auch im Index 0, so dass die Zahlen der 1.Ziehung überschrieben werden. Das Problem könnte vielleicht sein, das nach jeder Ziehung die speichere-Methode beendet wird, dies ist aber nicht zu umgehen.
PS: vor vielen Jahren gab es hier im Forum unter dem gleichen Titel die Schilderung des gleichen Problems, allerdings wurde damals keine Lösung gefunden
Java:
package Lotto;
import java.util.*;
public class ZiehungsSpeicher {
Vector<Ziehung> gespeicherteZahlen = new Vector<Ziehung>(); //Vektor ist vom Typ Ziehung
public void speichere(Ziehung ziehung, int i){ //i ist in der main definiert, i ist die Anzahl der
//Ziehungen, diese wird per System.in an der
// Konsole eingegeben
//die Methode speichere wird sooft aufgerufen,
//wie es Anzahl
//von Ziehungen gibt
//in ziehung sind die 6 gezogenen Lottozahlen
//gespeichert
for(int n=i;n<i;i++){
gespeicherteZahlen.add(n,ziehung); //n bedeutet Index, ich habe auch den add Befehl
// ohne Index ausprobiert, ebenfalls ohne Erfolg
}
}
public String getAlleZiehungen(){
Ziehung speicher = new Ziehung();
StringBuilder result = new StringBuilder();
int groesse;
int[] speicherung;
String zwischenstring="";
groesse=gespeicherteZahlen.size();
System.out.println("Grösse: "+groesse);
for(int i=0; i<groesse; i++){
speicher=gespeicherteZahlen.get(i);
speicherung=speicher.getZiehung();
for(int j=0;j<6;j++){
System.out.println(speicherung[j]);
}
zwischenstring=Arrays.toString(speicherung);
result.append(zwischenstring);
}
return result.toString();
}
}