看板 java 關於我們 聯絡資訊
試寫一個計算器時,輸入如:"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
james732:1 * 10 + 2 這樣?? 06/04 21:47
kene:我會拿 StringTokenizer 偷懶 XD 06/04 21:52
zeat:regex+spilt 06/04 22:21
maxi326:Java當然是用regex... 06/04 23:37
cgkm:context-free grammar... 06/05 04:44
nick23:印象可以用堆疊來做.... 06/05 22:12