

Java: Jak udělat ze String matematický výraz?
Ahoj, potřebuji ze Stringu např: (10-20)/50
udělat matematický výraz a vypočítat ho :) poradíte prosím
Ahoj, potřebuji ze Stringu např: (10-20)/50
udělat matematický výraz a vypočítat ho :) poradíte prosím
Předmět | Autor | Datum |
---|---|---|
V Javě bohužel taková funkce není, takže si ji můžeš buď naprogramovat sám nebo se to dá ochcat přes… MaSo 17.03.2013 15:05 |
MaSo | |
a nešlo by použít Iteger.parseInt? používal jsem to když jsme ve škole dělali kalkulačku. Tady je čá… nový tom.win 17.03.2013 23:43 |
tom.win | |
To by teda nešlo, tady se řeší úplně jiný problém... poslední MaSo 17.03.2013 23:54 |
MaSo | |
Ak si to budeš implementovať sám, tak najjednoduchšie je spraviť si 2 zásobníky (jeden pre operátory… nový los 17.03.2013 19:46 |
los |
Zpět do poradny Odpovědět na původní otázku Nahoru
V Javě bohužel taková funkce není, takže si ji můžeš buď naprogramovat sám nebo se to dá ochcat přes zavolání javascriptu z Javy.
a nešlo by použít Iteger.parseInt? používal jsem to když jsme ve škole dělali kalkulačku. Tady je část pro sčítání:
To by teda nešlo, tady se řeší úplně jiný problém...
Ak si to budeš implementovať sám, tak najjednoduchšie je spraviť si 2 zásobníky (jeden pre operátory, druhý pre operandy), postupne prechádzať výrazom (napíšeš si lexer, t.j. funkciu, ktorá ti bude vracať nasledujúci token zo vstupu) a vyhodnocovať podľa priority operátorov. Pozri si algoritmus shunting-yard.