Beweis durch Widerspruch
Annahme: Es gibt eine Methode haltetest in der Klasse Fee:
public class Fee {
public static boolean haltetest (char[]s, char[]t) {
// liefert true, falls das durch die Zeichenkette s dargestellte
// Java-Programm bei den durch die Zeichenkette t dargestellten
// Eingabedaten anhaelt;
// liefert false, sonst
}
}
Dann lässt sich folgendes Java-Programm in der Datei Quer.java konstruieren:
import AlgoTools.IO;
public class Quer {
public static void main(String[] argv) {
char[] s = IO.readChars();
if (Fee.haltetest(s,s)) while (true);
}
}
Sei q der String, der in der Datei Quer.java steht.
Was passiert, wenn das Programm Quer.class auf den String q angesetzt wird ? D.h.
| 1. Fall: | Hält an | haltetest(q,q) == false | |
| Quer angesetzt auf q hält nicht! | |||
| 2. Fall: | Hält nicht | haltetest(q,q) == true | |
| Quer angesetzt auf q hält an! | |||
Also kann es die Methode haltetest nicht geben!