作者bil193 (丁丁)
看板java
标题[问题] "2*13-4" 怎样取得"13"而非"1"和"3"
时间Thu Jun 4 21:44:43 2009
试写一个计算器时,输入如:"2*3-5/6" 或 "12.5*(10/2.0)-9/3"
把整行读进来後,我用
for(i=0;i<str.length();i++)
{
if(str.charAt(i)>='0' && str.charAt(i)<='9' )
则为数字(运算元)
else
则为运算符号(运算子)
}
可是这样一来,遇到"12"这超过一位数的数字时,就没办法读到"12",
只能读到"1" "2"
请问要怎样才能读到整个数字呢 ??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.98.4
1F:推 james732:1 * 10 + 2 这样?? 06/04 21:47
2F:推 kene:我会拿 StringTokenizer 偷懒 XD 06/04 21:52
3F:推 zeat:regex+spilt 06/04 22:21
4F:推 maxi326:Java当然是用regex... 06/04 23:37
5F:推 cgkm:context-free grammar... 06/05 04:44
6F:推 nick23:印象可以用堆叠来做.... 06/05 22:12