Ich habe in meiner main-Methode eine Verschachtelung von if-Anweisungen stehen. Diese rufen die Methode stufeDurchfuhren() aus. Die ersten beiden if-Anweisungen (Stufe 2 und Stufe 3) werden offenbar ausgeführt, stufeDurchfuehren gibt nämlich eine Reihe von Bildschirmausgaben aus, anhand derer ich das sehen kann. Danach werden aber keine weiteren if-Anweisungen ausgeführt, was ich mir nicht erklären kann. Hab extra mal diverse Konsolenausgaben eingefügt um dem Fehler auf die Schliche zu kommen. Da weder "Da bin ich doch" noch "Bin ja gar nicht true" ausgegeben werden, vermute ich, dass die if-Anweisung als ganzes nicht, also weder der else- noch der then-Zweig ausgeführt werden. Fehlermeldung gibt die Konsole keine aus.
Java:
if (stufe2.stufeDurchfuehren()==true){
if (stufe3.stufeDurchfuehren()==true){
System.out.println("Da bin ich doch!");
if (stufe4.stufeDurchfuehren()==true){
if (stufe5.stufeDurchfuehren()==true){
if (stufe6.stufeDurchfuehren()==true){
if (stufe7.stufeDurchfuehren()==true){
if (stufe8.stufeDurchfuehren()==true){
if (stufe9.stufeDurchfuehren()==true){
}else {System.out.println("Ist ja gar nicht true!");}
}else {System.out.println("Ist ja gar nicht true!");}
}else {System.out.println("Ist ja gar nicht true!");}
}else {System.out.println("Ist ja gar nicht true!");}
}else {System.out.println("Ist ja gar nicht true!");}
}else {System.out.println("Ist ja gar nicht true!");}
}else {System.out.println("Ist ja gar nicht true!");}
}else {System.out.println("Ist ja gar nicht true!");
}
}
Java:
/Durchführung der Corsi-Aufgabe
public boolean stufeDurchfuehren() throws InterruptedException, IOException{
Sequenzbehaelter=this.sequenzeinleser.leseSequenzen();
aktuelleSequenz=Sequenzbehaelter.get(posAktuelleSequenz);
posAktuelleSequenz++;
eingabeSequenzVP = this.window.corsiPlatte.sequenzAnzeigen(aktuelleSequenz, this.window);
while (this.window.corsiPlatte.eingabeBeendet==false) {
g++;
g--;
}
this.vergleiche();
versucheDieseStufe = versucheDieseStufe++;
return bestanden;
}
//Methode die testet, ob die Eingabe der VP richtig war
public boolean vergleiche(){
int h=0;
while (eingabeSequenzVP.sequenzfolge[h] != 0){
if (eingabeSequenzVP.sequenzfolge[h] != aktuelleSequenz.sequenzfolge[h]) {
// System.out.println("figge?");
sequenzenGleich=false;
}
h++;
}
if (sequenzenGleich == false) {
window.corsiPlatte.rueckmeldung.setText("Falsch!");
bestanden=false;}
else
{window.corsiPlatte.rueckmeldung.setText("Richtig!");
bestanden=true;}
window.corsiPlatte.rueckmeldung.setVisible(true);
return bestanden; //Das ist evtl. noch zu ändern
}