muenzchen: String als Rechenoperation interpretieren?

Hallo!

Gibt es eine Funktion in Java, die einen übergebenen String, sofern möglich, als Rechenoperation interpretiert?

In Javascript gibt es ja "eval()" (ich meine hier wirklich JAVA!)
So eine Funktion bräuchte ich.

MfG, muenzchen

  1. Hallo,

    Gibt es eine Funktion in Java, die einen übergebenen String, sofern möglich, als Rechenoperation interpretiert?

    Nein. Zumindest nicht in dem Java SDK. Es wäre natürlich möglich, daß
    jemand mal so etwas programmiert hat.

    (Übrigens ist eval() in JavaScript ja auch nicht einfach eine Funktion,
    die eine Rechenoperation ausführt. Vielmehr führt sie den dynamisch zur
    Verfügung gestellten Code aus. Das geht natürlich so ohne weiteres nur
    mit Skript-Sprachen, da diese ja ohnehin nicht kompiliert werden, und
    Code damit beliebig während der Ausführung verändert werden kann.)

    Gruß
    Slyh

    1. Ok, alles klar.
      Muss ichs umständlich machen :)

      Danke!

  2. Hallo

    Hallo!

    Gibt es eine Funktion in Java, die einen übergebenen String, sofern möglich, als Rechenoperation interpretiert?

    In Javascript gibt es ja "eval()" (ich meine hier wirklich JAVA!)
    So eine Funktion bräuchte ich.

    MfG, muenzchen

    Also du kannst das nicht direkt als Rechenzeichen machen aber machs doch als if abfrage zb:

    String operant; // Musst es dann halt irgendwo holen lassen

    if(operant.equals(String)"+"){        // Wobei das + Zeichen ist das eingegeben werden muß

    Hier dann das was du ausführen möchtest

    }

  3. Hallo muenzchen,

    Wenn Du sowas in Java machen willst, musst Du entweder nach fertigen Klassen für diese Aufgabe suchen oder selbst einen Interpreter schreiben, der die Asudrücke auswertet.

    Ein Programm, dass Dir dabei hilft wäre z.b. http://www.cs.princeton.edu/~appel/modern/java/CUP/

    In der Dokumentation findest Du auch ein Beispiel für einen Interpreter für einfache Ausdrücke.

    Grüße

    Daniel