作者carlcarl (carl)
看板java
标题[问题] 简单的三数字 四则运算 输入问题
时间Fri May 23 02:55:10 2008
之前我学弟问我的= ="
输入大概就像这样 5+3*2 一定是三个数做运算
我是想说 测资格式是一定的 所以应该不需要转成後序再用stack来算 太麻烦了= ="
一个一个读出来 判断一下就好了
本来想说java有没有像c的sscanf这样的功能 不过好像没有~"~
有的话 输入就秒杀了...
而且Scanner也没有啥nextChar可以用 尝试用nextInt之类的完全不行= ="
後来是先读一整行 存在String里
StringTokenizer 把三个数字读出来存着
然後再一个for回圈 把在String里头的第一个运算符号和第二个读出来存着
把後面的判断写一写就完成了
不过感觉真的很大费周章= ="
不知道有没有什麽比较好的方法@@?
还是只能这样写了??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.171.140.75
1F:推 TonyQ:另一个作法是用read() 一次读一个char 兜一兜~ 05/23 12:11
2F:推 jtmh:1. 读一整行并存到 String 里 05/24 04:08
3F:推 jtmh:2. 用 String 的 split() 直接拆解成含五个元素的 String[] 05/24 04:14
4F:→ jtmh:3. 根据索引 [1]、[3] 的运算符号来计算,记得 [0]、[2]、[4] 05/24 04:18
5F:→ jtmh:要先转成数字 05/24 04:19
6F:→ TonyQ:split的功能跟StringTokenizer是很接近的说~ 05/25 16:14