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
}
}
