public class Symbolraetsel
{
static int i = 1;
public static void main (String[] args)
{
int B = 0, E = 0, H = 0, S = 0, T = 0; //B, H und T nicht mit 1, sondern mit 0 deklariert
ZahlB(B, E, H, S, T);
}
public static void ZahlB (int B, int E, int H, int S, int T) //Start mit dem ersten Buchstaben
{
boolean FertigB0 = false, FertigB1 = false, FertigB2 = false, FertigB3 = false, FertigB4 = false, FertigB5 = false, FertigB6 = false, FertigB7 = false, FertigB8 = false, FertigB9 = false; //FertigB0 als false deklariert
for (;B <= 9; B++)
{
switch (B)
{
case 0:
if (FertigB0 == true)
continue; //Springe zurück wenn Bedingung erfüllt
else
FertigB0 = true; ZahlE(B, E, H, S, T); break;
case 1:
if (FertigB1 == true)
continue;
else
FertigB1 = true; ZahlE( B, E, H, S, T); break;
case 2:
if (FertigB2 == true)
continue;
else
FertigB2 = true; ZahlE(B, E, H, S, T); break;
case 3:
if (FertigB3 == true)
continue;
else
FertigB3 = true; ZahlE(B, E, H, S, T); break;
case 4:
if (FertigB4 == true)
continue;
else
FertigB4 = true; ZahlE(B, E, H, S, T); break;
case 5:
if (FertigB5 == true)
continue;
else
FertigB5 = true; ZahlE(B, E, H, S, T); break;
case 6:
if (FertigB6 == true)
continue;
else
FertigB6 = true; ZahlE(B, E, H, S, T); break;
case 7:
if (FertigB7 == true)
continue;
else
FertigB7 = true; ZahlE(B, E, H, S, T); break;
case 8:
if (FertigB8 == true)
continue;
else
FertigB8 = true; ZahlE(B, E, H, S, T); break;
case 9:
FertigB9 = true; ZahlE(B, E, H, S, T); break;
default: System.out.println("Fehler in Methode B"); break;
}
}
}
public static void ZahlE (int B, int E, int H, int S, int T)
{
boolean FertigE0 = false, FertigE1 = false, FertigE2 = false, FertigE3 = false, FertigE4 = false, FertigE5 = false, FertigE6 = false, FertigE7 = false, FertigE8 = false, FertigE9 = false;
for (;E <= 9; E++)
{
switch (E)
{
case 0:
if (FertigE0 == true | E == B)
continue;
else
FertigE0 = true; ZahlH(B, E, H, S, T); break;
case 1:
if (FertigE1 == true | E == B)
continue;
else
FertigE1 = true; ZahlH( B, E, H, S, T); break;
case 2:
if (FertigE2 == true | E == B)
continue;
else
FertigE2 = true; ZahlH(B, E, H, S, T); break;
case 3:
if (FertigE3 == true | E == B)
continue;
else
FertigE3 = true; ZahlH(B, E, H, S, T); break;
case 4:
if (FertigE4 == true | E == B)
continue;
else
FertigE4 = true; ZahlH(B, E, H, S, T); break;
case 5:
if (FertigE5 == true | E == B)
continue;
else
FertigE5 = true; ZahlH(B, E, H, S, T); break;
case 6:
if (FertigE6 == true | E == B)
continue;
else
FertigE6 = true; ZahlH(B, E, H, S, T); break;
case 7:
if (FertigE7 == true | E == B)
continue;
else
FertigE7 = true; ZahlH(B, E, H, S, T); break;
case 8:
if (FertigE8 == true | E == B)
continue;
else
FertigE8 = true; ZahlH(B, E, H, S, T); break;
case 9:
if (E == B)
break;
FertigE9 = true; ZahlH(B, E, H, S, T); break;
default: System.out.println("Fehler in Methode E"); break;
}
}
}
public static void ZahlH (int B, int E, int H, int S, int T)
{
boolean FertigH0 = false, FertigH1 = false, FertigH2 = false, FertigH3 = false, FertigH4 = false, FertigH5 = false, FertigH6 = false, FertigH7 = false, FertigH8 = false, FertigH9 = false; //FertigH0 als false deklariert
for (;H <= 9; H++)
{
switch (H)
{
case 0:
if (FertigH0 == true | H == B | H == E)
continue;
else
FertigH0 = true; ZahlS(B, E, H, S, T); break;
case 1:
if (FertigH1 == true | H == B | H == E)
continue;
else
FertigH1 = true; ZahlS( B, E, H, S, T); break;
case 2:
if (FertigH2 == true | H == B | H == E)
continue;
else
FertigH2 = true; ZahlS(B, E, H, S, T); break;
case 3:
if (FertigH3 == true | H == B | H == E)
continue;
else
FertigH3 = true; ZahlS(B, E, H, S, T); break;
case 4:
if (FertigH4 == true | H == B | H == E)
continue;
else
FertigH4 = true; ZahlS(B, E, H, S, T); break;
case 5:
if (FertigH5 == true | H == B | H == E)
continue;
else
FertigH5 = true; ZahlS(B, E, H, S, T); break;
case 6:
if (FertigH6 == true | H == B | H == E)
continue;
else
FertigH6 = true; ZahlS(B, E, H, S, T); break;
case 7:
if (FertigH7 == true | H == B | H == E)
continue;
else
FertigH7 = true; ZahlS(B, E, H, S, T); break;
case 8:
if (FertigH8 == true | H == B | H == E)
continue;
else
FertigH8 = true; ZahlS(B, E, H, S, T); break;
case 9:
if (H == B | H == E)
break;
FertigH9 = true; ZahlS(B, E, H, S, T); break;
default: System.out.println("Fehler in Methode E"); break;
}
}
}
public static void ZahlS (int B, int E, int H, int S, int T)
{
boolean FertigS0 = false, FertigS1 = false, FertigS2 = false, FertigS3 = false, FertigS4 = false, FertigS5 = false, FertigS6 = false, FertigS7 = false, FertigS8 = false, FertigS9 = false;
for (;S <= 9; S++)
{
switch (S)
{
case 0:
if (FertigS0 == true | S == B | S == E | S == H)
continue;
else
FertigS0 = true; ZahlT(B, E, H, S, T); break;
case 1:
if (FertigS1 == true | S == B | S == E | S == H)
continue;
else
FertigS1 = true; ZahlT( B, E, H, S, T); break;
case 2:
if (FertigS2 == true | S == B | S == E | S == H)
continue;
else
FertigS2 = true; ZahlT(B, E, H, S, T); break;
case 3:
if (FertigS3 == true | S == B | S == E | S == H)
continue;
else
FertigS3 = true; ZahlT(B, E, H, S, T); break;
case 4:
if (FertigS4 == true | S == B | S == E | S == H)
continue;
else
FertigS4 = true; ZahlT(B, E, H, S, T); break;
case 5:
if (FertigS5 == true | S == B | S == E | S == H)
continue;
else
FertigS5 = true; ZahlT(B, E, H, S, T); break;
case 6:
if (FertigS6 == true | S == B | S == E | S == H)
continue;
else
FertigS6 = true; ZahlT(B, E, H, S, T); break;
case 7:
if (FertigS7 == true | S == B | S == E | S == H)
continue;
else
FertigS7 = true; ZahlT(B, E, H, S, T); break;
case 8:
if (FertigS8 == true | S == B | S == E | S == H)
continue;
else
FertigS8 = true; ZahlT(B, E, H, S, T); break;
case 9:
if (S == B | S == E | S == H)
break;
FertigS9 = true; ZahlT(B, E, H, S, T); break;
default: System.out.println("Fehler in Methode E"); break;
}
}
}
public static void ZahlT (int B, int E, int H, int S, int T)
{
boolean FertigT0 = false, FertigT1 = false, FertigT2 = false, FertigT3 = false, FertigT4 = false, FertigT5 = false, FertigT6 = false, FertigT7 = false, FertigT8 = false, FertigT9 = false; //FertigT0 als false deklariert
for (;T <= 9; T++)
{
switch (T)
{
case 0:
if (FertigT0 == true | T == B | T == E | T == H| T == S)
continue;
else
FertigT0 = true; Pruefung(B, E, H, S, T); break;
case 1:
if (FertigT1 == true | T == B | T == E | T == H| T == S)
continue;
else
FertigT1 = true; Pruefung( B, E, H, S, T); break;
case 2:
if (FertigT2 == true | T == B | T == E | T == H| T == S)
continue;
else
FertigT2 = true; Pruefung(B, E, H, S, T); break;
case 3:
if (FertigT3 == true | T == B | T == E | T == H| T == S)
continue;
else
FertigT3 = true; Pruefung(B, E, H, S, T); break;
case 4:
if (FertigT4 == true | T == B | T == E | T == H| T == S)
continue;
else
FertigT4 = true; Pruefung(B, E, H, S, T); break;
case 5:
if (FertigT5 == true | T == B | T == E | T == H| T == S)
continue;
else
FertigT5 = true; Pruefung(B, E, H, S, T); break;
case 6:
if (FertigT6 == true | T == B | T == E | T == H| T == S)
continue;
else
FertigT6 = true; Pruefung(B, E, H, S, T); break;
case 7:
if (FertigT7 == true | T == B | T == E | T == H| T == S)
continue;
else
FertigT7 = true; Pruefung(B, E, H, S, T); break;
case 8:
if (FertigT8 == true | T == B | T == E | T == H| T == S)
continue;
else
FertigT8 = true; Pruefung(B, E, H, S, T); break;
case 9:
if (T == B | T == E | T == H| T == S)
break;
FertigT9 = true; Pruefung(B, E, H, S, T); break;
default: System.out.println("Fehler in Methode E"); break;
}
}
}
public static void Pruefung(int B, int E, int H, int S, int T) //Prüfung der Rechenaufgabe und Übergabe an die Ausgabe
{
if (((H*100)+(E*10)+S)+((T*100)+(H*10)+E) == ((B*1000)+(E*100)+(S*10)+T))
{
Ausgabe(B, E, H, S, T);
}
}
public static void Ausgabe(int B, int E, int H, int S, int T)
{
System.out.println
("Lösungs-Nr.: " + i + ": B = " + B + ", E = " + E + ", H = " + H + ", S = " + S + ", T = " + T + ":");
System.out.println(" " + H + E + S);
System.out.println("+ " + T + H + E);
System.out.println("_____");
System.out.println(" " + B + E + S + T);
i++;
//folgende if-Anweisungen wurde für die Prüfung hinzugefügt
if (H == 0 & T == 0)
System.out.println("H und T sind gleich 0");
if (H == 0)
System.out.println("H ist gleich 0");
if (T == 0)
System.out.println("T ist gleich 0");
else
System.out.println("Weder H noch T sind 0");
System.out.println();
}
}