How to Find Sum of Digits in Java

Method - 1

import java.io.*;

class SumDigits
{
	static int getSum(int num)
	{ 
		int sum = 0;

		while (num != 0)
		{
			sum = sum + num % 10;
			num = num / 10;
		}
	return sum;
	}

	public static void main(String[] args)
	{
		int num = 12345;
		System.out.println(getSum(num));
	}
}

Output: 15

Time Complexity: O(|n|)
Auxiliary Space: O(1)

Method - 2: Single Line

import java.io.*;

class SumDigits {
	
	static int getSum(int num)
	{
		int sum;
		for (sum = 0; num > 0; sum += num % 10, num /= 10);
		return sum;
	}

	public static void main(String[] args)
	{
		int num = 12345;
		System.out.println(getSum(num));
	}
}

Output: 15

Time Complexity: O(|n|)
Auxiliary Space: O(1)

Method - 3: Recursive

import java.io.*;

class SumDigits 
{
	static int sumDigits(int num)
	{
		return num == 0 ? 0 : num % 10 + sumDigits(num / 10);
	}

	public static void main(String[] args)
	{
	     int num = 12345;
	     System.out.println(sumDigits(num));
	}
}

Output: 15

Time Complexity: O(log10n)
Auxiliary Space: O(log10n)

teststep banner