這是一個經典的 Java 基礎練習,示範如何透過迴圈與取餘運算,將一個長整數拆解為個別位數並累加總和。以下提供完整的程式碼與詳細解說。
import java.util.Scanner;
public class Add {
/**
* 計算長整數各位數字之和
* @param n 輸入的長整數
* @return 各位數字相加的結果
*/
public static int sumDigits(long n) {
int sum = 0;
while (n > 0) {
int digit = (int) (n % 10); // 取得最後一位數字
sum += digit; // 累加到總和
n = n / 10; // 移除最後一位
}
return sum;
}
public static void main(String[] args) {
try {
System.out.println("請輸入數字:");
Scanner sc = new Scanner(System.in);
long input = sc.nextLong();
System.out.println("輸入數字的各位數之和為 " + sumDigits(input));
} catch (Exception e) {
System.out.println("您輸入的不是數字!");
}
}
}
假設輸入 12345:
最終輸出:輸入數字的各位數之和為 15
程式使用 try-catch 捕捉 InputMismatchException,若使用者輸入非數字字串,會友善提示「您輸入的不是數字!」而非拋出堆疊追蹤。
