不用逆波蘭表示式計算簡單四則運算

2021-09-12 19:53:22 字數 475 閱讀 8465

思路很簡單,按+-×÷分割,+分割完給-分割然後給×最後給÷分割,如果分割+後有-就算-,有×就算×,有÷就算÷,直到結果。這裡有個值得注意的小問題,就是在-的時間,前面有負號和沒有負號,如果有-號,分割後第乙個索引是沒有值的,由於第一位是負號,於是算第乙個數要取反,後面就是都是減了,**很簡單如下:

public static double cal_add(string s){

if(s.length()==0||s == null)return 0;

double sum = 0;

string adds = s.split("\\+");

for(int i=0;i結果:

四則運算表示式 逆波蘭表示式

感覺是一塊比較偏門的東西,特此記錄下 或者叫字尾表示式,我們原先用的一直都是中綴表示式,但是因為如果表示式過長,計算機計算起來不方便。需要先遍歷一邊,找出其中的 進行優先計算,如果有多個 疊加的話就更麻煩了。於是為了計算機的方便計算,將中綴表示式轉換成字尾表示式,計算機便可以使用棧的特性,來快速的計...

逆波蘭表示式解決四則運算

逆波蘭表示式又叫做字尾表示式,它將複雜表示式轉換為可以依靠簡單的操作得到計算結果的表示式,解決了四則運算中括號改變運算子優先順序的問題。四則運算的表示式一般都是中綴表示式如 1 2 3 4 5,即操作符在兩個運算元之間。四則運算需要兩個步驟,一是把中綴表示式轉為字尾表示式,二是由字尾表達生成結果 c...

棧的應用 四則運算(逆波蘭表示式)

int compute char s 81 sval valtop y y用來接收轉化的數字 i else if s i s i s i s i 運算子 sop optop s i else if s i else if s i optop i while optop return sval val...