Per allenamento, perche' potrebbe servirmi e per ostinazione forse sto tentando da me di fare un risolutore di espressioni in linguaggio Java.
Vi posto il codice. Se volete aiutarmi a renderlo un programma funzionante a tutti gli effetti...
Il programma computa "bene" la stringa di esempio, ma fallisce in numerosi altri casi.
Soprattutto con le funzioni sin(...) e cos(...) dove i valori cambiano di segno.
Inoltre dovrebbe essere in grado, e per ora ovviamente non lo e' di eseguire funzioni di funzioni(come sqr(sqrt(...)))
Un problema e' dovuto al segno "-" quando l'espressione sopratutto di trova a non svolgere calcoli perche ha piu' di un segno in sequenza come 2.0*-3.0, inoltre si dovrebbe gestire 2.0*(-3.0)^2
Il primo problema invece: risulta dal fatto che e' necessario per il parse double come vedete evidenziare le cifre dopo la virgola: (2.0 anziche' 2)
Qui trovate il codice:
http://tpcg.io/_CRLPPK
Ben vengano consigli...
Buona serata...