首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java 入門實作:計算長整數各位數字之和

     編輯:Java 綜合教學

Java 入門實作:計算長整數各位數字之和

這是一個經典的 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("您輸入的不是數字!");
        }
    }
}

核心邏輯解析

  1. 取餘運算 (n % 10):可取得數字的個位數。
  2. 整數除法 (n / 10):將數字右移一位,捨棄已處理的個位數。
  3. 迴圈終止條件:當 n 變為 0 時,表示所有位數皆已處理完畢。

執行範例

假設輸入 12345:

  • 第一輪:digit=5, sum=5, n=1234
  • 第二輪:digit=4, sum=9, n=123
  • 第三輪:digit=3, sum=12, n=12
  • 第四輪:digit=2, sum=14, n=1
  • 第五輪:digit=1, sum=15, n=0 → 迴圈結束

最終輸出:輸入數字的各位數之和為 15

錯誤處理

程式使用 try-catch 捕捉 InputMismatchException,若使用者輸入非數字字串,會友善提示「您輸入的不是數字!」而非拋出堆疊追蹤。

執行結果截圖

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved