文本表达式计算之后缀表达式构造
来源:互联网 发布:zfs linux 编辑:程序博客网 时间:2024/05/16 18:41
import java.util.ArrayList;import java.util.List;import com.potato.calculate.utils.SimpleUtils;public class BBB {public static void main(String[] args) {List<String> list_a = new ArrayList<String>();List<String> list_b = new ArrayList<String>();list_a.add("a");list_a.add("*");list_a.add("b");list_a.add("+");list_a.add("c");list_a.add("+");list_a.add("d");list_a.add("/");list_a.add("e");// -----------------------------------------------------------------SimpleUtils simpleUtils = new SimpleUtils();list_b.add(list_a.get(0));int _pre = 0;int _after = 0;for (int i = 1; i < list_a.size(); i = i + 2) {_pre = simpleUtils.getPriority(list_a.get(i).charAt(0));if (i + 2 < list_a.size()) {_after = simpleUtils.getPriority(list_a.get(i + 2).charAt(0));} else {list_b.add(list_a.get(list_a.size() - 1));list_b.add(list_a.get(list_a.size() - 2));break;}if (_pre >= _after) {list_b.add(list_a.get(i + 1));list_b.add(list_a.get(i));} else {list_b.add(list_a.get(i + 1));list_b.add(list_a.get(i + 3));list_b.add(list_a.get(i + 2));int goto_value = 0;for (int j = i + 2; j < list_a.size(); j = j + 2) {goto_value = j;int _tmp = 0;if (j + 2 < list_a.size()) {_tmp = simpleUtils.getPriority(list_a.get(j + 2).charAt(0));}if (_pre < _tmp) {list_b.add(list_a.get(j + 3));list_b.add(list_a.get(j + 2));} else {list_b.add(list_a.get(i));break;}}i = goto_value;}}// -----------------------------------------------------------------for (int i = 0; i < list_b.size(); i++) {System.out.print(list_b.get(i));}}}<pre name="code" class="java">public class SimpleUtils {public static final String mul = "*";public static final String div = "/";public static final String add = "+";public static final String sub = "-";public static final String rem = "%";public int getPriority(char simple) {int result = 0;switch (simple) {case '*':result = 2;break;case '/':result = 2;break;case '+':result = 1;break;case '-':result = 1;break;default:result = 0;}return result;}}
0 0
- 文本表达式计算之后缀表达式构造
- 使用后缀表达式计算表达式
- 后缀表达式计算算术表达式
- 后缀表达式计算算术表达式
- 数据结构栈之计算后缀表达式
- 计算后缀表达式
- 计算后缀表达式
- 后缀表达式计算
- sicily 后缀表达式计算
- 后缀表达式计算
- 后缀表达式的计算
- 后缀表达式的计算
- 后缀表达式计算
- 后缀表达式计算
- 后缀表达式的计算
- 计算后缀表达式
- 后缀表达式计算结果
- 后缀表达式计算
- java方法重载和方法重写
- JavaWeb学习12-13
- App页面布局,图标大小规范
- http断点续传与文件下载原理解析
- Memcached Client简要介绍
- 文本表达式计算之后缀表达式构造
- Android dumpstate 工具解析
- 第一篇博客JavaScript跳过错误继续执行
- SSD 之FTL转换层
- 调焦距离S远近与景深之关系
- awk的NR和FNR的区别
- Android API Guides - Activities
- 关于fragment里使用onActivityResult,与onresume等问题
- 北京络捷斯特第三方物流信息系统技术解析(九) 作业管理-出库作业