Hallo!
Hab vor kurzem bei einer Freundin gelesen:
import eprog.*;
/*******************************************************************
* AUFGABE: *
* Das Programm soll einen Boolschen Ausdruck der Form *
* (a b c d)v(a' b' c' d') einlesen und wenn mögl. vereinfachen *
*******************************************************************/
public class Boolver extends EprogIO
{
/*****************************
* Variablendefinitionen: *
******************************/
static String eingabe; // DER EINZULESENDE STRING
static String substringEins; // erster extrahierter Substring
static String substringZwei; // zweiter extrahierter Substring
static String newSubstring; // Ausgabestring
static char eingabeTest; // TestVariable
static boolean eingabeError = false; // Fehler-Speicher-Variable
static boolean vereinfachungsFehler = false; // Fehler-Speicher-Variable
static int stringLaenge; // String-Längen-Speicher-Variable
static String klammerAuf = "("; // der String "klammerAuf"
static String klammerZu = ")"; // der String "klammerZu"
static String nicht = "-"; // der String "nicht"
static int indexKlammerAuf1 = 0; // 1. Position von "KlammerAuf" im String
static int indexKlammerAuf2 = 0; // 2. Position von "KlammerAuf" im String
static int indexKlammerZu1 = 0; // 1. Position von "KlammerZu" im String
static int indexKlammerZu2 = 0; // 2. Position von "KlammerZu" im String
static int indexNicht = 0; // Position von "nicht" im String
static int index = 0; // Variable zur Zählung der Buckstabenanzahl
/*********************************************
* Hier wird ein String eingelesen und die *
* Eingabe auf Richtigkeit überprüft ... *
*********************************************/
public static void main (String[] args)
throws EprogException
{
eingabe = readWord(); // String wird eingelesen
// 1.) Die Zeichen des Strings müssen zwischen a - z liegen oder "(", ")" oder "-" sein:
// *************************************************************************************
stringLaenge = eingabe.length(); // Berechnung der String-Länge
for (int i=0; i < stringLaenge; i++) // um alle Indexstellen des Strings testen zu können
{
char eingabeTest = eingabe.charAt(i); // Das Zeichen an der i-ten Stelle
if ((eingabeTest < 'a' eingabeTest > 'z') && // wird gespeichert & getestet
(eingabeTest != '-' && eingabeTest != '(' && eingabeTest != ')'))
{
eingabeError = true; // Wenn die Voraussetzungen nicht erfüllt werden
break; // wird die Fehler-Speicher-Variable auf true gesetzt.
}
}
dieser "zeile" interessiert mich:
"if ((eingabeTest < 'a' eingabeTest > 'z') ",
Kann man ein
"char"-type('a') mit "<"(groesser gleich) vergleichen?
dachte es muessten literale, wie z.b. Zahlen sein, die man mit
"<"-operator vergleichen laesst?
hmm...
Im Voraus schon mal ein Dankeschön!
grüsse
Corneliuz