Sitzung 2

 

Aufgabe 3 Puzzle

 

Die Teile werden hier als Strings gespeichert und permutiert. Also als "ABCD" und "1234".

 

class Puzzle{

static int anzahl=0;

static public String buchst_delete(String wort, int stelle){
String auswahl= "";
for (int j=0; j<wort.length() ; j++) {
if (j!=stelle) {
auswahl= auswahl+ wort.charAt(j);
} // end of if
} // end of for
return auswahl;
}

static public void permutieren_Ecken(String rein, String erg){
String auswahl= "";
if (rein.equals("")) {
// Alle Ecken permutiert, jetzt werden die Kanten permutiert
// in erg stehen die Ecken
permutieren_Kanten("1234", (erg));
} // end of if
else {
for (int i=0;i<rein.length() ; i++) {
auswahl=buchst_delete( rein, i);
permutieren_Ecken((auswahl), (erg+ rein.charAt(i)));
} // end of for
} // end of if-else
}

static public void permutieren_Kanten(String rein, String erg){
String auswahl= "";
if (rein.equals("")) {
// Alle Ecken und Kanten permutiert, jetzt wird X gedreht
// in erg stehen die Ecken und Kanten
drehungen(erg);
} // end of if
else {
for (int i=0;i<rein.length() ; i++) {
auswahl=buchst_delete( rein, i);
permutieren_Kanten((auswahl), (erg+ rein.charAt(i)));
} // end of for
} // end of if-else
}

static void drehungen(String erg){
// in erg stehen alle Ecken und Kanten
// jetzt werden alle Drehungen ausgeführt (X1, X2, X3, X4)
for (int i=1;i<=4 ;i++ ) {
anzahl++;
System.out.println(""+anzahl+" "+erg.charAt(0)+" "+erg.charAt(4)+" "+erg.charAt(1)+" "+erg.charAt(5)+" "+"X"+i+" "
+erg.charAt(5)+" "+erg.charAt(2)+" "+erg.charAt(6)+" "+erg.charAt(3)+" "+erg.charAt(7));
} // end of for
}

public static void main(String[] args){
//String mit Ecken wird permutiert, A ist vorgegeben
permutieren_Ecken("BCD","A");
}
}