1、问题描述
设计一个简单的算术表达式计算器。
2、基本要求
实现标准整数类型的四则运算表达式的求值(包含括号,可多层嵌入)
3、问题分析
将表达式中的字符进行赋值转换。以及不加括号的有先原则(先乘除、后加减、优先括号内容)
考虑用栈解决问题
4、函数设计
栈的设计
//创建两个栈,一个数栈,一个符号栈
ArrayStack shuStack=new ArrayStack(10);
ArrayStack operStack=new ArrayStack(10);
class ArrayStack{
private int maxSize;//栈的大小
private int[] stack;//数组,模拟栈
private int top=-1;//栈顶,初始化-1
//构造器
public ArrayStack(int maxSize){
this.maxSize=maxSize;
stack=new int[this.maxSize];
}
//判断栈满
public boolean ifMax(){
return top==maxSize-1;//数组下标从0开始,-1
}
//判断栈空
public boolean ifFull(){
return top==-1;
}
//入栈
public void add(int value){
//判断栈满
if (ifMax()){
System.out.println("栈满");
return;
}
//入栈