de.hska.java.aufgaben.kontrollstrukturen
Class Raetselloeser

java.lang.Object
  extended by de.hska.java.aufgaben.kontrollstrukturen.Raetselloeser

public class Raetselloeser
extends java.lang.Object

Raetselloeser ist verantwortlich für das Lösen aussagenlogisch formulierter Rätsel. Dazu werden systematisch alle Kombinationen aussagenlogischer Variablen aufgezählt, bis die Formel wahr ist.

Zurück zum Aufgabentext

Author:
pape

Constructor Summary
Raetselloeser()
           
 
Method Summary
static void loesungAnzeigen(boolean hutmacher, boolean schnapphase, boolean maus)
          Gibt den Dieb auf den Bildschirm aus.
static void main(java.lang.String[] argv)
          Probiert alle Kombinationen boolescher Variablen aus, bis die raetselEvaluieren(boolean, boolean, boolean) true zurück gibt.
static boolean raetselEvaluieren(boolean hutmacher, boolean schnapphase, boolean maus)
          Ein Rätsel von Raymond Smullyan.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Raetselloeser

public Raetselloeser()
Method Detail

main

public static void main(java.lang.String[] argv)
Probiert alle Kombinationen boolescher Variablen aus, bis die raetselEvaluieren(boolean, boolean, boolean) true zurück gibt. Danach wird die Lösung angezeigt.


raetselEvaluieren

public static boolean raetselEvaluieren(boolean hutmacher,
                                        boolean schnapphase,
                                        boolean maus)
Ein Rätsel von Raymond Smullyan. Es geht dabei um einen Hutmacher, einen Schnapphase und eine (Hasel-)Maus. Unter diesen drei Verdächtigen gibt es einen Dieb. Die Ermittlungen haben folgendes ergeben: Wir formalisieren diesen Sachverhalt mit drei aussagenlogischen Variablen hutmacher, schnapphase und maus. Diese sollen genau dann true sein , wenn die entsprechende Person der Dieb ist. Wir verwenden die Java-Operatore !, &, ^, | und => als Implikation. Die resultierenden, konjunktiv zu verknüpfende Formeln sind: Die Implikation A => B kann durch ! A | B ersetzt werden.


loesungAnzeigen

public static void loesungAnzeigen(boolean hutmacher,
                                   boolean schnapphase,
                                   boolean maus)
Gibt den Dieb auf den Bildschirm aus.



(c) Prof. Dr. Christian Pape --- Übersicht aller Java-Programmieraufgaben