Hallo,
ich bin gerade dabei mir eine Programm zu schreiben, mit dem ich meine DVD-Sammlung verwalten kann.
Jetzt hänge ich bei der Sortierung bzw. beim Filtern der Daten.
Hier mein Code:
Die äußere Schleife durchläuft die nach der Suche übrig gebliebenen Filmtitel.
Die Innnere Schleife soll jeden dieser Titel wieder mit den gesamten hinterlegten Filmen abgleichen (in einem CSV-File hinterlegt) um nach dem Genre zu Filtern.
Mein Problem ist aber, dass die äußere Schleife nur einmal durchlaufen wird und somit auch die innere Schleife nur einmal komplett ausgeführt wird. Warum? Ich verzweifel bald ;(
Ich habe mir die Schleifendurchgänge mal ausgeben lassen und bekam folgendes raus:
Äußere - Schritt: 0 ()SOLL:2
Innere - Schritt: 1 ()SOLL:3
Innere - Schritt: 2 ()SOLL:3
Innere - Schritt: 3 ()SOLL:3
Hier wird deutlich, dass die äußere Schleife nur einmal durchlaufen wird.
(Die übrig gebliebenen Filme) ist in diesem Falle "2" und
(Die gesamten aus dem CSV), "3".
Ich danke euch schon mal für eure Hilfe.:toll:
Gruß
Crasher
P.S. Die vielen If-Bedingungen kommen auch noch in eine Schleife. Habe diese erstmal wieder so hingeschreiben, da ich dachte das dort das Problem lag.
ich bin gerade dabei mir eine Programm zu schreiben, mit dem ich meine DVD-Sammlung verwalten kann.
Jetzt hänge ich bei der Sortierung bzw. beim Filtern der Daten.
Hier mein Code:
Java:
for(int i=0; i<model.size();i++){
System.out.println("Äußere - Schritt: " + i + " ()SOLL:" + model.size());
for(int j=1;j<(cast.length);j++){
System.out.println("Innere - Schritt: " + j + " ()SOLL:" + cast.length);
if(allMovies[i].equals(movie[j][0])){
model.clear();
//------Sortierung Genre---------
if(cb_genre.getSelectedItem().equals(cb_genre.getItemAt(1))){
if(movie[j][3].equals(cb_genre.getItemAt(1))){
model.addElement(movie[j][0]);
}
}
if(cb_genre.getSelectedItem().equals(cb_genre.getItemAt(2))){
if(movie[j][3].equals(cb_genre.getItemAt(2))){
model.addElement(movie[j][0]);
}
}
if(cb_genre.getSelectedItem().equals(cb_genre.getItemAt(3))){
if(movie[j][3].equals(cb_genre.getItemAt(3))){
model.addElement(movie[j][0]);
}
}
if(cb_genre.getSelectedItem().equals(cb_genre.getItemAt(4))){
if(movie[j][3].equals(cb_genre.getItemAt(4))){
model.addElement(movie[j][0]);
}
}
if(cb_genre.getSelectedItem().equals(cb_genre.getItemAt(5))){
if(movie[j][3].equals(cb_genre.getItemAt(5))){
model.addElement(movie[j][0]);
}
}
if(cb_genre.getSelectedItem().equals(cb_genre.getItemAt(6))){
if(movie[j][3].equals(cb_genre.getItemAt(6))){
model.addElement(movie[j][0]);
}
}
if(cb_genre.getSelectedItem().equals(cb_genre.getItemAt(7))){
if(movie[j][3].equals(cb_genre.getItemAt(7))){
model.addElement(movie[j][0]);
}
}
}
}
}
}
Die äußere Schleife durchläuft die nach der Suche übrig gebliebenen Filmtitel.
Die Innnere Schleife soll jeden dieser Titel wieder mit den gesamten hinterlegten Filmen abgleichen (in einem CSV-File hinterlegt) um nach dem Genre zu Filtern.
Mein Problem ist aber, dass die äußere Schleife nur einmal durchlaufen wird und somit auch die innere Schleife nur einmal komplett ausgeführt wird. Warum? Ich verzweifel bald ;(
Ich habe mir die Schleifendurchgänge mal ausgeben lassen und bekam folgendes raus:
Äußere - Schritt: 0 ()SOLL:2
Innere - Schritt: 1 ()SOLL:3
Innere - Schritt: 2 ()SOLL:3
Innere - Schritt: 3 ()SOLL:3
Hier wird deutlich, dass die äußere Schleife nur einmal durchlaufen wird.
Java:
model.size()
Java:
cast.length
Ich danke euch schon mal für eure Hilfe.:toll:
Gruß
Crasher
P.S. Die vielen If-Bedingungen kommen auch noch in eine Schleife. Habe diese erstmal wieder so hingeschreiben, da ich dachte das dort das Problem lag.