Diciamo che ho un metodo che ha dichiarato in questo modo:Trasforma una stringa in un'espressione matematica?
public double Calc(String expression) {
// Code
}
voglio prendere un'espressione String come
"2 + 4 - (3 * 4)"
Poi alimentarlo per Calc()
e dovrebbe restituire il valore che si ottiene.
Si può analizzare un'Espressione matematica da una stringa in modo che diventi un'espressione che Java può comprendere? Perché normalmente puoi semplicemente scrivere
return 2 + 4 - (3 * 4);
Ma questo funzionerebbe solo per quella singola espressione.
Date un'occhiata a questo: http://stackoverflow.com/questions/2605032/using-eval-in-java –
Per rotolare il proprio normalmente usereste un albero di espressione http: //en.wikipedia .org/wiki/Binary_expression_tree –
@beto Ma sembra che, facendo questo, si apra l'intero motore JS solo per fare questa cosa. Anche se mi ha dato un suggerimento, suppongo. Grazie! – OmniOwl