用stack的方法做一个数学等式
这个程序要用stack的方法去做,举个例子A+ B,输出就是A B +,
(a+ b), 输出 A B +,
a/b*c, 输出 a b / c *
a-b*c,输出 a b c * -
(a+(b+(c+(d+e)))), 输出a b c d e + + + +
懂的朋友写一个简单的例子给我看看,谢谢了
import java.util.regex.*; public class aa { private static String s="e+(b+cd)"; public static void main(String args[]){ s=("([\\+\\-\\*\\/])([\\(][^\\(]{1,}[\\)])").matcher(s).replaceAll("$2$1"); s=("[\\(\\)]").matcher(s).replaceAll(""); s=("([\\+\\-\\*\\/])([a-zA-Z]{1,})").matcher(s).replaceAll("$2$1"); System.out.println(s); } }