String als Rechenoperation interpretieren?
muenzchen
- java
0 Slyh0 Benedikt0 Daniel Thoma
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
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
Ok, alles klar.
Muss ichs umständlich machen :)
Danke!
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
}
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