package stack;
public
class
calculator
else
}else
}else
else}}
index++;if
(index >= expression.
length()
)}while
(true
) num1 = numberstack.
pop();
num2 = numberstack.
pop();
oper = operstack.
pop();
res = numberstack.
cal(num1, num2, oper)
; numberstack.
push
(res)
;//入棧
}//將數棧的最後數,pop出,就是結果
int res2 = numberstack.
pop();
system.out.
printf
("表示式 %s = %d"
, expression, res2);}
}class
arraystack2
//判斷棧滿 是在arraystack內部的方法,所以可以直接呼叫內部的引數 只要有返回數就是有返回值的,這裡是布林數
public
boolean
isfull()
public
boolean
isempty()
//向棧中新增數 push
public
void
push
(int merber)
else
}//棧中彈出數 當需要有返回值的時候,需要返回異常
public
intpop()
else
}public
void
show()
else}}
//有下面的這些函式的根本原因是:因為傳入的是字串,要把字串理解了
//判斷運算子的優先順序
public
intpriority
(int oper)
else
if(oper ==
'+'|| oper ==
'-')
else
}//判斷是不是乙個運算子
public
boolean
isoper
(char val)
public
intpeek()
//計算的方法
public
intcal
(int num1,
int num2,
int oper)
return res;
}}
python 做乙個簡單的計算器
def jisuanqi 實現加減乘除運算 a,b,c shuru if c z a b print s s 的和為 s a,b,z elif c z a b print s s 的差為 s a,b,z elif c z a b print s s 的積為 s a,b,z elif c z a b ...
乙個基於c GUI的計算器
先上圖 2實驗過程 分析 這個計算器主要有三種不同的按鍵,即數字鍵,演算法操作符鍵,等於鍵。每一種不同的按鍵用同乙個事件處理函式來處理。為了實現連續操作的功能,所以把運算元抽象成前乙個數和後乙個數。把操作符也抽象成前乙個操作符和當前操作符,每次輸入完當前操作符後,就執行前乙個數和當前數利用前乙個操作...
做乙個iOS的簡單計算器 二
定義乙個處理基本操作的類 class calculatetool nsobject 初始化運算子棧 func initoptrstack 壓入運算數 func pushoperand operand string 壓入運算子 func pushoperator optr string 彈出乙個運算數...