Java 寫這題,用 StringTokenizer 來處理
StringTokenizer tok = new StringTokenizer(bufR.readLine(),"+*",true);
將加號、乘號作為分隔符,後面處理就很容易了
PS : bufR.readLine() 是讀取一行測資,至於怎麼讀請自己思考
我認為ForEach迴圈在這裡也很好用
for(String s: new java.io.BufferedReader(new java.io.InputStreamReader(System.in)).readLine().split("\\+"))
先把要+的區塊拆出來,再使用
for(String s1: s.split("\\*"))
把s1轉int並且乘起來
這樣兩層ForEach就能把這題處理完了
可能沒有StringTokenizer快,但是還滿方便的。
註:
這裡呼叫split的參數比較特別,因為它要符合「Regex正規表示式」,我的這篇解題報告有詳細介紹到它:
https://zerojudge.tw/ShowThread?postid=34387&reply=0