Hi Leute!
Ich sitze hier vor einem kleinen Problem, das ich selbst nicht lösen kann:
Und zwar besteht das Problem bei
in Zeile 120. Dort wird mir das z rot gekennzeichnet mit der Begründung "z cannot be resolved to a variable".
Warum nimmt das Programm aber die oberen z's in der Schleife an? Was kann ich tun damit die Schleife funktioniert?
Im Übrigen habe ich dieses Programm schon ohne die Methoden geschrieben, komischerweise funktioniert die Schleife dort OHNE Problem. Hier der Quellcode:
Ich sitze hier vor einem kleinen Problem, das ich selbst nicht lösen kann:
Java:
import java.io.*;
public class Sechs_Zwei
{
public static void Eintreten()
{
System.out.println("Endlich ist es mir gelungen die Pyramide zu öffnen.");
System.out.println("1: Mit angehaltenem Atem trete ich ein.");
System.out.println("2: Meine Arbeit ist getan, ich gehe nach Hause.");
}
public static void Fail()
{
System.out.println("Tja, das war jetzt nicht so spektakulär...");
}
public static void Schatzsuche()
{
System.out.println("Hier also soll der große Schatz verborgen sein.");
System.out.println("1: Ich nehme den Gang zur Linken.");
System.out.println("2: Ich betrete die Kammer zur Rechten mit den 4 goldenen Zacken auf der Tür.");
System.out.println("3: Die Sache wird mir zu heikel und ich gehe lieber wieder raus");
}
public static void WiederVormEingang()
{
System.out.println("Nun stehe ich also wieder vorm Eingang. Was nun?");
System.out.println("1: Mit angehaltenem Atem trete ich ein.");
System.out.println("2: Meine Arbeit ist getan, ich gehe nach Hause.");
}
public static void Falle()
{
System.out.println("Gespannt tauche ich in die Dunkelheit des Ganges ein und gerate geradewegs in eine Falle...");
}
public static void CodeEingeben()
{
System.out.println("Die Schatzkammer! Doch welche Zahl (0-9) öffnet das Schloss an der Truhe?");
}
public static void FalscheZahl()
{
System.out.println("Diese war es wohl nicht... Ich sollte eine andere versuchen.");
}
public static void Sieg()
{
System.out.println("Das Schloss springt auf und der Schatz ist mein.");
}
public static int Eingabe()
{
DataInputStream dat = new DataInputStream(System.in);
int x = 0;
try{ x = Integer.parseInt(dat.readLine()); }catch(Exception e){}
return x;
}
public static void main(String[] args)
{
Eintreten();
int x = Eingabe();
switch (x)
{
case 1:
Schatzsuche();
int y = Eingabe();
switch (y)
{
case 1:
Falle();
break;
case 2:
do
{
CodeEingeben();
int z = Eingabe();
if (z==4)
{
Sieg();
}
else
{
FalscheZahl();
}
}
while (z!=4);
break;
case 3:
WiederVormEingang();
break;
}
}
}
}
Und zwar besteht das Problem bei
Java:
while (z!=4)
Warum nimmt das Programm aber die oberen z's in der Schleife an? Was kann ich tun damit die Schleife funktioniert?
Im Übrigen habe ich dieses Programm schon ohne die Methoden geschrieben, komischerweise funktioniert die Schleife dort OHNE Problem. Hier der Quellcode:
Java:
import java.io.*;
public class Fuenf_Eins
{
public static void main(String[] args)
{
DataInputStream dat = new DataInputStream(System.in);
int x=0;
int y=0;
int l = 0;
while (l==0);
{
System.out.println("Endlich ist es mir gelungen die Pyramide zu öffnen.");
{
System.out.println("1: Mit angehaltenem Atem trete ich ein.");
System.out.println("2: Meine Arbeit ist getan, ich gehe nach Hause.");
try{ x = Integer.parseInt(dat.readLine()); }catch(Exception e){}
if (x==1)
{
System.out.println("Hier also soll der große Schatz verborgen sein.");
x=0;
System.out.println("1: Ich nehme den Gang zur Linken.");
System.out.println("2: Ich betrete die Kammer zur Rechten mit den 4 goldenen Zacken auf der Tür.");
System.out.println("3: Die Sache wird mir zu heikel und ich gehe lieber wieder raus");
try{ x = Integer.parseInt(dat.readLine()); }catch(Exception e){}
switch (x)
{
case 1:
System.out.println("Gespannt tauche ich in die Dunkelheit des Ganges ein und gerate geradewegs in eine Falle...HAHA!");
l=1;
break;
case 2:
do
{
System.out.println("Die Schatzkammer! Doch welche Zahl (0-9) öffnet das Schloss an der Truhe?");
try{ x = Integer.parseInt(dat.readLine()); }catch(Exception e){}
if (x==4)
{
System.out.println("Das Schloss springt auf und der Schatz ist mein.");
l=1;
}
else
{
System.out.println("Diese war es wohl nicht... Ich sollte eine andere versuchen.");
}
}
while (x!=4);
break;
case 3:
System.out.println("Nun stehe ich also wieder vorm Eingang. Was nun?");
x=0;
break;
default:
System.out.println("Bitte eine Zahl zwischen 1 und 3 eingeben!");
}
}
if (x==2)
{
System.out.println("Tja, das war jetzt nicht so spektakulär...");
}}
}
}}