注意点:
1.char型与int型:可以比较,可以加减(char型转换为int型)
2.String与char型的拼接:String s1='a'+"";
3.可能出现脚标越界的情况,要用if将情况考虑完整
public class StackPra {
public static void main(String[] args) {
String expression="6-12+36";
//两个栈,一个数栈,一个符号栈
ArrayStack numStack = new ArrayStack(10);
ArrayStack operStack = new ArrayStack(10);
int index=0;//用于扫描
int num1,num2,res=0;
int oper=0;
char ch=' ';
//while语句循环扫描
while (index<expression.length()){
ch=expression.charAt(index);//得到String每个字符
if (operStack.isOper(ch)){//如果为运算符
if (!operStack.isEmpty()){//符号栈不为空,进行比较
if (operStack.priority(ch)<=operStack.priority(operStack.getTop())) {
num1 = numStack.pop();