package test;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
/*包含小数的中缀表达式转换后缀表达式*/
public class PolandTest {
public static void main(String[] args) {
//将此中缀表达式转换为后缀表达式,先将中缀表达式放入list里
String expression = "1.3+((2.15+3.3)*4)-5.25";
List list = changeToList(expression);
System.out.println("中缀表达式为:" + list);
List postfixExpression = postfixExpression(list);
System.out.println("后缀表达式为:" + postfixExpression);
//计算后缀表达式的结果
System.out.println(calculator(postfixExpression));
}
public static List<String> changeToList(String s){
int i = 0; //表示遍历string的指针
List<String> ls = new ArrayList<String>();//定义一个新的List
char c ;//字符串的拼接放入到ch中,每遍历一个字符,就放到ch中
String str;//多位数的拼接
do{
//如果是数字
if((c = s.charAt(i)) >= 48 && (c = s.charAt(i)) <= 57 || c == '.'){
str
将中缀表达式转换为后缀表达式并计算(包含小数)
最新推荐文章于 2022-10-07 10:53:54 发布