方法:先将四则运算的中缀表达式转为后缀表达式进行计算,再将运算符进栈,出栈进行计算。
import java.util.LinkedList;
import java.util.Scanner;
/**
* 运算符处理过程:
* 1、如果栈为空,直接入栈运算符
* 2、如果是‘(’,直接出栈
* 3、如果遇见‘)’,连续出栈,直到(括号出栈为止
* 4、当前符号的优先级 > 栈顶符号,直接入栈符号
* 5、当前符号的优先级 <= 栈顶符号,一直出栈
*/
public class 四则运算 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入正则运算表达式:");
String expression = sc.nextLine();
//用来存储数字,因为可能出现多位数的数字,需要用字符串进行存储
StringBuilder sb = new StringBuilder();
//存储后缀表达式的内容
LinkedList<String> backExp = new LinkedList<>();
//存储符号的栈
LinkedList<Character> signStack = new LinkedList<>();
//开始遍历中缀表达式
for (int i = 0; i < expression.length(); i++) {
if (Charac