[問題] 簡單的三數字 四則運算 輸入問題

看板java作者 (carl)時間17年前 (2008/05/23 02:55), 編輯推噓3(303)
留言6則, 2人參與, 最新討論串1/1
之前我學弟問我的= =" 輸入大概就像這樣 5+3*2 一定是三個數做運算 我是想說 測資格式是一定的 所以應該不需要轉成後序再用stack來算 太麻煩了= =" 一個一個讀出來 判斷一下就好了 本來想說java有沒有像c的sscanf這樣的功能 不過好像沒有~"~ 有的話 輸入就秒殺了... 而且Scanner也沒有啥nextChar可以用 嘗試用nextInt之類的完全不行= =" 後來是先讀一整行 存在String裡 StringTokenizer 把三個數字讀出來存著 然後再一個for迴圈 把在String裡頭的第一個運算符號和第二個讀出來存著 把後面的判斷寫一寫就完成了 不過感覺真的很大費周章= =" 不知道有沒有什麼比較好的方法@@? 還是只能這樣寫了?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.171.140.75

05/23 12:11, , 1F
另一個作法是用read() 一次讀一個char 兜一兜~
05/23 12:11, 1F

05/24 04:08, , 2F
1. 讀一整行並存到 String 裡
05/24 04:08, 2F

05/24 04:14, , 3F
2. 用 String 的 split() 直接拆解成含五個元素的 String[]
05/24 04:14, 3F

05/24 04:18, , 4F
3. 根據索引 [1]、[3] 的運算符號來計算,記得 [0]、[2]、[4]
05/24 04:18, 4F

05/24 04:19, , 5F
要先轉成數字
05/24 04:19, 5F

05/25 16:14, , 6F
split的功能跟StringTokenizer是很接近的說~
05/25 16:14, 6F
文章代碼(AID): #18DS6FHQ (java)