Arrays aus Vectoren holen

Status
Nicht offen für weitere Antworten.

gailo

Mitglied
Hallo Leute,

Ich hab ein tolles programm zu schreiben welches Lottokugelziehungen breechnet Tipps annimt und das ganze als krönenden Abschluss als Statistik auswerted. Bisher hat alles gut geklappt bis zu dem punkt bis ich vergleichen muss um zu zeigen wieviele 6er 5er 4er etc es gibt.
Kommentiert hab ich noch nicht ich hoffe ihr könnt was mit dem Gedankengang anfangen.
Mein Problem liegt darin das ich in einem vector ziehungen speichere und diese ziehungen vom Typ int array sind und ich die irgendwie nicht wieder aus dem vector rausbekomme bzw nicht vergleichen kann

[JAVA=42] public int[] findeUebereinstimmung(Vector<Ziehung> speicher, Vector<Ziehung> tipp){
int[] speicherArray = new int[6];
int[] tippArray = new int[6];
int[] anzahl = new int[7];
int zaehler;

for(int i = 0; i <= speicher.size(); i++){
for(int j=0; j <= tipp.size(); j++){


speicherArray = (int[])speicher.get(i).getZiehung(); //mit und ohne casts ist das gleiche resultat
tippArray = (int[])tipp.get(j).getZiehung();



zaehler = 0;
for(int k = 0;k < speicherArray.length; k++){

for(int l = 0; l < tippArray.length; l++){
if(speicherArray[k] == tippArray[l])zaehler++;
}

}
anzahl[zaehler]= anzahl[zaehler]+1;
}
}
return anzahl;
}[/code]

ich bekomme immer eine ArrayIndexOutOfBoundsException und versteh nicht so recht warum.

zum getZiehung
[JAVA=42]public class Ziehung {

int[] ziehung = new int[6];


public Ziehung(int[] ziehung) {
super();
this.ziehung = ziehung;
}

public int[] getZiehung() {
return ziehung;
}

@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append(Arrays.toString(ziehung));
return builder.toString();
}


}[/code]

Ich hoffe auf hilfe nicht auf komplettlösungen da das programm zu gross wäre um alles einzeln zu posten.
 
Zuletzt bearbeitet von einem Moderator:

Marco13

Top Contributor
In welcher Zeile fliegt die Exception? Wie groß ist der Array dort? Welcher Index wird verwedet? (Mit System.out.println direkt vor der Zeile ausgeben lassen!)
 

gailo

Mitglied
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 3
at java.util.Vector.get(Unknown Source)
at Statistik.findeUebereinstimmung(Statistik.java:21)
at LottoMain.main(LottoMain.java:107)

die exception fliegt in
tippArray = (int[])tipp.get(j).getZiehung();

und die range 3 ist die grösse des tipp vektors
 

javimka

Top Contributor
Ich glaube, das Problem ist
Java:
for(int j=0; j <= tipp.size(); j++){
j geht bis nach j = 3. Deine Array hat zwar Grösse 3, doch das erste Element ist an Stelle 0. Das heisst, das dritte und letzte Element ist an Stelle 2.

Ersetze es durch
Java:
for(int j=0; j < tipp.size(); j++){
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben