Java: Kann man Strings ausrechen lassen?

... komplette Frage anzeigen

2 Antworten

Wenn dein String eine reine Zahl enthalten würde, könntest du es mit einem Integer.parseInt umwandeln. Wenn du da aber Zeichen drinnen hast, wird dir eine NumberFormatException geliefert.

So wird dir nicht viel anderes übrig bleiben, als das ganze mit einem Schleifendurchlauf (charAt und und String.length() sollten bekannt sein)  zu lösen. Der Umweg den ich aber gerade im Kopf habe, ist etwas umständlich ^^°

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von BenStudio
12.12.2015, 20:51

Ich denke, ich versuche es mal mit deiner Version Nummer 2, danke!

1

Java selbst hat keine eval() Funktion - aber Javascript hat sie. Und das kann man seit Java SE 6 über den ScriptEngineManager aufrufen:

import javax.script.ScriptEngineManager; import javax.script.ScriptEngine; public class Test { public static void main(String[] args) throws Exception{ ScriptEngineManager mgr = new ScriptEngineManager(); ScriptEngine engine = mgr.getEngineByName("JavaScript"); String result = "2*3"; System.out.println(engine.eval(result)); } }
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von TeeTier
13.12.2015, 09:09

Das nenn ich mal nen "Einzeiler". :)

0
Kommentar von RageMode
06.09.2016, 21:23

Genau das was ich suche, aber um das ganze noch komplizierter zu machen kann ich da auch Variablen aus Java einbinden? also zum Beispiel das er 2*x ausrechnet wenn x vorher deklariert wird?

0

Was möchtest Du wissen?