#24486: Java 的提示


My2020Java (Java練習生)

學校 : 不指定學校
編號 : 135581
來源 : [110.28.40.236]
最後登入時間 :
2025-01-06 21:19:00

Java 寫這題,用 StringTokenizer 來處理

StringTokenizer tok = new StringTokenizer(bufR.readLine(),"+*",true);

將加號、乘號作為分隔符,後面處理就很容易了

PS : bufR.readLine() 是讀取一行測資,至於怎麼讀請自己思考

#34778: Re: Java 的提示


liaoweichen1024@gmail.com (M_SQRT)

學校 : 新北市立新莊高級中學
編號 : 195452
來源 : [140.114.123.98]
最後登入時間 :
2025-09-24 19:10:46

我認為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