Learnitweb

Java program to get sum of all digits of a number in Java

Approach

  • Find each digit of the number. We find digit by dividing number by 10 and getting remainder.
  • Calculate sum by adding each obtained digit.

Method 1 – Iterative

import java.util.Scanner;

public class DigitSum {
	public static void main(String[] args) {
        int input;
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter the number:");
        input = scanner.nextInt();
        int result = getSum(input);
        System.out.println("Sum of Digits:"+result);
	}
	
	static int getSum(int input){     
		    int sum = 0; 
        while (input != 0){ 
            sum = sum + (input % 10); 
            input = input/10; 
        } 
        return sum; 
    } 
}

Method 2 – Single line

import java.util.Scanner;

public class DigitSum {
	public static void main(String[] args) {
        int input;
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter the number:");
        input = scanner.nextInt();
        int result = getSum(input);
        System.out.println("Sum of Digits:"+result);
	}
	
	static int getSum(int input){     
		    int sum; 
        for (sum = 0; input > 0; sum += input % 10, input /= 10);
        return sum; 
    }
}

Method 3 – Recursive

import java.util.Scanner;

public class DigitSum {

	public static void main(String[] args) {
        int input;
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter the number:");
        input = scanner.nextInt();
        int result = getSum(input);
        System.out.println("Sum of Digits:"+result);
	}
	
	static int getSum(int input) { 
        return input == 0 ? 0 : input%10 + getSum(input/10) ; 
    } 
}

Output

Enter the number:243
Sum of Digits:9

Java 8 Program: Sum of Digits

import java.util.stream.IntStream;

public class SumOfDigits {
    public static void main(String[] args) {
        int number = 12345; // Example number
        int sum = sumOfDigits(number);
        System.out.println("Sum of digits: " + sum);
    }

    public static int sumOfDigits(int number) {
        return String.valueOf(number)  // Convert number to String
                .chars()                // Get IntStream of characters
                .map(Character::getNumericValue) // Convert 'char' to integer
                .sum();                 // Sum up the digits
    }
}