作者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
推 TonyQ:另一個作法是用read() 一次讀一個char 兜一兜~ 05/23 12:11
推 jtmh:1. 讀一整行並存到 String 裡 05/24 04:08
推 jtmh:2. 用 String 的 split() 直接拆解成含五個元素的 String[] 05/24 04:14
→ jtmh:3. 根據索引 [1]、[3] 的運算符號來計算,記得 [0]、[2]、[4] 05/24 04:18
→ jtmh:要先轉成數字 05/24 04:19
→ TonyQ:split的功能跟StringTokenizer是很接近的說~ 05/25 16:14