济南茶具批发市场张庄:大虾们,你慢慢飞.帮我看看这道题...

来源:百度文库 编辑:中科新闻网 时间:2024/05/14 00:07:38
我String N个字符串

a = "12";
b = '*'
c = '(';
d = "34";
e = '+';
f = "56";
g = ')';

实现 12 * ( 34 + 56 )

我需要怎么样才能把他们计算出来呢?
把字符弄成数组用integer.parseInt偶知道
但是需要如何才能讲带有字符串的变量鼓捣进去呢?

简单的编译原理,

从一开始 逐个处理字符串,区分是否数字,是否运算符,是否括号
然后进行不同的动作,比如说是运算符 就从堆栈中取出两个数来运算
再把结果压进堆栈。获的数字就把他压进堆栈。如果是右括号就
不停运算直到堆栈里是 左括号。

用一个堆栈结构就可以实现了。