10. Problem J: Summing Digits (CPE10473, UVA11332) - CPE一顆星解答與說明
👉 CPE 一顆星選集列表(49題) 題目說明與解答 題目 將讀入的數字N,將其中每個字元相加,直到剩個位數(小於 10) 為止 輸入說明 每一行包含一個正整數 N 當數值為 0 時,結束處理 輸出說明 根據每個正整數N,輸出計算的結果 解題技巧 使用字串,取得每個字元 解題過程 取得輸入 因為測試資料的筆數是動態非固定值,所以使用 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題) 題目說明與解答