java計算字串中的數學表示式的值演算法怎麼寫

時間 2021-08-11 17:04:19

1樓:匿名使用者

**網上很多,只說說演算法吧

12+8/4-5+(3-4)

把這樣的表示式拆成:(運算元)(操作符) 、12+8/

4-5+(

3-4)

(術語叫做逆波蘭式)

預設的計算順序是從左往右,記為left。另設從右往左,記為right設計element類,具有 運算元 operant, 操作符operator, 操作順序 order三個屬性

用兩個先進後出的棧結構stacka,b;

一開始所有的element都在a中,逐個彈出計算合併值,當遇到乘、除、括號時計算順序改變成right,把當前結果放到b中暫存。

直到再次遇到加、減、)右括號時,意味計算順序復位成left,先把b中的暫存結果全部合併後,再繼續算a中的剩餘資料

最後合併成一個結果值。

2樓:nice新人報道哦

scriptenginemanager scriptenginemanager = new scriptenginemanager();

scriptengine scriptengine = scriptenginemanager.getenginebyname("nashorn");

string str = "(10+20-3)/9";

object eval = null;

try catch (scriptexception e)system.out.println("表示式"+ str + "運算的結果是:" + eval);

表示式(10+20-3)/9運算的結果是:3

java字串字串亂碼問題

jsp在地址裡直接傳漢字是有這個亂碼問題。可以採用public string tostring string s catch exception e public string ex chinese string str else catch exception ex return str 來轉換!...

c 語言 計算字串中子字串出現的次數

1.可通過 strstr 函式,查詢子字串。找到後即非空,然後加上子字串偏移,再進行查詢沒,直到最後返回為空。2.char strstr const char str1,const char str2 功能 函式返回一個指標,它指向字串str2首次出現於字串str1中的位置,如果沒有找到,返回nul...

c中如何計算字串中某個指定字元的個數

幸運的雨祭 使用函式indexof 來檢索字串中所需要的字元出現的次數。如下 class program static void main string args 統計出字串中,下雪出現的次數 string text 今天下雪了嗎,明天不會下雪了吧,什麼時候才不下雪啊,我要去上學啊!string k...