标签:java
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; } }
标签:java
原文地址:http://blog.csdn.net/fuleidemo/article/details/46519753