Java Program to Find Sum of Digits of a Number
This article covers a program in Java that find and prints the sum of all digits of a number entered by user. For example, if entered number is 13049, then the output will be 17. 17 is the sum of all digits of given number, i.e., 1+3+0+4+9.
Find Sum of Digits in Java using while Loop
The question is, write a Java program to find the sum of digits of a given number using while loop. The program given below is its answer:
import java.util.Scanner; public class CodesCracker { public static void main(String[] args) { int num, digit, sum=0; Scanner s = new Scanner(System.in); System.out.print("Enter a Number: "); num = s.nextInt(); while(num!=0) { digit = num%10; sum = sum + digit; num = num/10; } System.out.println("\nSum of Digits = " +sum); } }
The snapshot given below shows the sample run produced by above Java program, with user input 10349 as number to find and print the sum of its all digits:
That is, 1+0+3+4+9 is equal to 17. The same program can also be created in this way:
import java.util.Scanner; public class CodesCracker { public static void main(String[] args) { int num, digit, sum=0; Scanner s = new Scanner(System.in); System.out.print("Enter a Number: "); num = s.nextInt(); System.out.print("\n"); while(num!=0) { digit = num%10; sum = sum + digit; num = num/10; if(num!=0) System.out.print(digit + "+"); else System.out.print(digit+ " = " + sum); } } }
Here is its sample run with user input, 1309438:
Also the while block can be written in this way too:
while(true) { digit = num%10; sum = sum + digit; num = num/10; if(num!=0) System.out.print(digit + "+"); else { System.out.print(digit+ " = " + sum); break; } }
Find Sum of Digits in Java using for Loop
Let's see how the same program looks like, when created using for loop.
import java.util.Scanner; public class CodesCracker { public static void main(String[] args) { int num, digit, sum; Scanner s = new Scanner(System.in); System.out.print("Enter a Number: "); num = s.nextInt(); for(sum=0; num!=0; num = num/10) { digit = num%10; sum = sum + digit; } System.out.println("\nSum of Digits = " +sum); } }
Find Sum of Digits using Function
This program is created using function. In this program, I've created a function named sumOfDigits() that takes a single argument and returns the sum of digits of that argument.
import java.util.Scanner; public class CodesCracker { public static void main(String[] args) { int num, digit, sum=0; Scanner s = new Scanner(System.in); System.out.print("Enter a Number: "); num = s.nextInt(); System.out.println("\nSum of Digits = " +sumOfDigits(num)); } public static int sumOfDigits(int n) { int sum = 0; while(n!=0) { sum = sum + (n%10); n /= 10; } return sum; } }
Same Program in Other Languages
« Previous Program Next Program »
Liked this post? Share it!