10. Problem J: Summing Digits (CPE10473, UVA11332) - CPE一顆星解答與說明
CPE一顆星49題解答 - pdf 電子檔,售價 199 元,
購買電子檔可將筆記與完整解答帶著走,
坐車、上課時皆可隨時複習,
不受網路或廣告影響,
若有需要請來信購買 greens2314@gmail.com
題目
- 將讀入的數字N,將其中每個字元相加,直到剩個位數(小於 10) 為止
輸入說明
- 每一行包含一個正整數 N
- 當數值為 0 時,結束處理
輸出說明
- 根據每個正整數N,輸出計算的結果
解題技巧
- 使用字串,取得每個字元
解題過程
取得輸入
- 因為測試資料的筆數是動態非固定值,所以使用 while 迴圈與 scanner.hasNextLine() 來偵測是否有整行的輸入
- 使用 scanner.nextLine() 取得資料
- 若為字串" 0 "則使用 break 結束此 while 迴圈
- 字串比對,String 是參考資料型別
- 比對字串的文字是否相同,請使用 equals() 方法
- 請不要使用 == 進行字串比對,== 是比對變數在記憶體上的位置
- 將字元轉成數字,有兩種方法,擇一使用
- Character.getNumericValue('1')
- 將字元轉成字串 String.valueOf(),再將字串轉成整數 Integer.parseInt()
- Integer.parseInt(String.valueOf('1‘))
- 將透過 for 迴圈逐一加總每個數字的結果轉成字串
留言
張貼留言