👉 CPE 一顆星選集列表(49題) 題目說明與解答
題目
- 將讀入的數字N,將其中每個字元相加,直到剩個位數(小於 10) 為止
輸入說明
- 每一行包含一個正整數 N
- 當數值為 0 時,結束處理
輸出說明
解題技巧
解題過程
取得輸入
- 因為測試資料的筆數是動態非固定值,所以使用 while 迴圈與 scanner.hasNextLine() 來偵測是否有整行的輸入
- 使用 scanner.nextLine() 取得資料
- 若為字串" 0 "則使用 break 結束此 while 迴圈
- 字串比對,String 是參考資料型別
- 比對字串的文字是否相同,請使用 equals() 方法
- 請不要使用 == 進行字串比對,== 是比對變數在記憶體上的位置
取得每個字元
- 使用 while 迴圈判斷公式計算結果是否為個位數,因為採用字串解題,個位數可解讀成字串長度為 1
- 當字串長度大於 1 時, 則須執行 while 迴圈的公式
- 使用 for 迴圈與 String 的 charAt() 方法來取得每一個字元
加總每個數字
- 將字元轉成數字,有兩種方法,擇一使用
- Character.getNumericValue('1')
- 將字元轉成字串 String.valueOf(),再將字串轉成整數 Integer.parseInt()
- Integer.parseInt(String.valueOf('1‘))
- 將透過 for 迴圈逐一加總每個數字的結果轉成字串
👉 CPE 一顆星選集列表(49題) 題目說明與解答
留言
張貼留言