本人这个非常简单,没有括弧,就是例如 1+2*6-4这样的
但是
java 知道 1+2*6-4 =xxx
也可以算出来
可是你不能输入怎么办呢?
本人的意思是,本人输入1,然后输入”+”,再输入2,这个java是算不出来的.
就是system.out.print(1+2) 可以显示为3
但是
当你拿到一个字符串以后,怎么把这个字符串转换为上面的这种呢?太伤脑筋了!
就好像 1+2*6-4
1,2,6,4 可以放入int[], +*-也可以char[],
但是1+2怎么告诉java 呢? 总不能 Int[0]+ char[0]+ int[1]啊!
求指导!
急急急!
谢谢~!
但是
java 知道 1+2*6-4 =xxx
也可以算出来
可是你不能输入怎么办呢?
本人的意思是,本人输入1,然后输入”+”,再输入2,这个java是算不出来的.
就是system.out.print(1+2) 可以显示为3
但是
当你拿到一个字符串以后,怎么把这个字符串转换为上面的这种呢?太伤脑筋了!
就好像 1+2*6-4
1,2,6,4 可以放入int[], +*-也可以char[],
但是1+2怎么告诉java 呢? 总不能 Int[0]+ char[0]+ int[1]啊!
求指导!
急急急!
谢谢~!
解决方案
5
一个个字符读…读出来是啥然后判断什么的,最后运算
Expression4J这个现成的..
Expression4J这个现成的..
15
小伙一看就知道数据结构没学好
全部的计算器都不是这么做的
而是将全部的字符都读进来
转换为后缀表达式
然后对后缀表达式进行操作,其中要用到栈
全部的计算器都不是这么做的
而是将全部的字符都读进来
转换为后缀表达式
然后对后缀表达式进行操作,其中要用到栈