Mateusz P. napisał(a)
Ostatnio napotkałem się na jakiś Java Script który obliczał jakieś tam działania właśnie na Stringach.
Java != JavaScript
W JS sprawa jest banalna: używa się funkcji eval
, która załatwia wszystko za nas.
Kiedyś podobne zadanie miałem żeby zrobić Kalkulator Graficzny w Javie i mój algorytm polegał na przeszukaniu Stringa od 0 do jego długości i przy napotkaniu jakiegoś znaku żeby zapisał ci pierwszą liczbę jako wynik później po znaku działania zapisał 2 liczbe jako Liczba2, zrobił działanie (wynik "działanie" liczba2) i zapisał w wyniku i leciał dalej (jak potrzebujesz wiele działań obliczyć) wbrew pozorom to nie jest takie trudne.
Twoja metoda jest "upośledzona" - nie uwzględnia kolejności wykonywania działań.
Już podałem najlepsze rozwiązanie (pomijając pisanie całego parsera z gramatyką, które byłoby po prostu ultra najlepszym ;P) - ONP.