Get number of digits in an integer java – Java Program to Count Number of Digits in an Integer

Get number of digits in an integer java: Interested in programming and want to excel in it by choosing the short ways. Then, practicing with the available Java Program list is mandatory.

Program to Count Number of Digits in an Integer

Java count digits in integer: In this article we will see how to count number of digits in an integer.

For example:

The number 32456 has 5 digits in it.
The number 9 has 1 digit in it.
The number 6073 has 4 digits in it.

There are multiple ways to do this. Like we can do it by

Method-1 : By using while loop

Number of digits in a number java: By using the while loop we can count the number of digits in an integer.

This is an iterative approach.

Approach:

  • Take an integer variable number assigned with an integer value.
  • Take a while loop and iterate the loop until number != 0
  • And go on dividing the number by 10 on each iteration like number=number/10
  • Keep on counting each digit during that with the help of a variable say ‘count‘.

For example:

  • number is 4512
  • After first iteration number will be number=number/10 i.e number=4512/10 => number=451 and increment count value to 1
  • After second iteration number will be number=number/10 i.e number=451/10 => number=45 and increment count value to 2
  • After third iteration number will be number=number/10 i.e number=45/10 => number=4 and increment count value to 3
  • After fourth iteration number will be number=number/10 i.e number=4/10 => number=0 and increment count value to 4
  • In next while check number is 0, so condition failed as iteration will only continue till while(number != 0), so it will not go into the loop again.
  • Now print the count value that is 4, so number of digits in the integer is 4.

Program:

public class Main 
{

  public static void main(String[] args) 
  {

    int count = 0, number = 4512;
    
     // loop will continue till number value become 0
    while (number != 0) 
    {
      // dividing the number with 10
      number=number/10;
      count++;
    }
    // printing the count value
    System.out.println("Number of digits: " + count);
  }
}
Output:

Number of digits: 4

Method-2 : By using for loop

Java number of digits in int: By using the for loop we can count the number of digits in an integer.

This is an iterative approach.

Approach:

  • Take a for loop without body.
  • continue for loop upto number != 0 becomes false
  • Keep on dividing the number value in each iteration
  • In each iteration increment count value 1
public class Main 
{

  public static void main(String[] args) 
  {

    int count = 0, number = 4512678;
    
    // Loop will continue until number becomes 0
    // In each loop number will go on divided by 10
    // And keep on counting 
    for (; number != 0; number=number/10, ++count) 
    {
    }

    System.out.println("Number of digits: " + count);
  }
}
Output:

Number of digits: 7

Method-3 : By using recursion

By using recursion we can count the number of digits in an integer.

Approach:

  • Logic is very simple just we need to divide number by 10 with in the user defined method count().
  • It will check if the number/10==0, if 0 then it will stop there, otherwise it will return 1 and recursion will go on.
  • Inside the count() method, recursively count() method will be called. And accordingly return value will be added in that.

Program :

import java.util.*;
 
class Main 
{
    // user defined method 'count'
    static int count(int n)
    {
        // dividing number with 10
        // if after division n value is not 0
        // then return 1
        if (n/10 == 0)
            return 1;
        // it will return the final digit count
        // calling the count() method recursively
        return 1 + count(n / 10);
    }
 
    
    // main method
    public static void main(String[] args)
    {
        // integer value stored in int variable 'number'
        int number = 123;
        // count() method called
        System.out.print("Number of digits : " + count(number));
    }
}
Output:

Number of digits: 3

Method-4 : By using log based solution

By using log based we can count the number of digits in an integer. But only for positive integers.

Approach:

  • By using log10(logarithm of base 10) we will count the number of digits.
  • Digit count of number = upper bound of log10(number).

Program :

import java.util.*;
 
class Main
{
 
    static int count(int num)
    {
        // using log approach
        return (int)Math.floor(Math.log10(num) + 1);
    }
 
    /* Driver code */
    public static void main(String[] args)
    {
        // intger value stored in int variable 'number'
        int number = 321;
        // count() method called
        System.out.print("Number of digits :" + count(number));
    }
}
Output: 

Number of digits: 3

Method-5 : By using conversion from int to string

By converting int to string and counting length we can count the number of digits in an integer. But only for positive integers.

Approch:

  • Take a number.
  • convert it to string by using toString() method.
  • Then count the length of the string using length() like num.length()
  • We have done this using a user defined method count().

Program:

import java.util.*;
public class Main 
{
    // user defined method
    // To count the no. of digits 
    static void count(int n)
    {
        // using toString() method converting into to string
        String num = Integer.toString(n);
 
        // getting the length of the string
        System.out.println("Number of digits :"+num.length());
    }
    
    // main method
    public static void main(String args[])
    {
        // numberstored in int variable 'number'
        int number = 345;
        count(number);
    }
}
Output:

Number of digits: 3

Get started with learning the programming language Java from beginner to experienced level by referring to our collection of Java Programs with Source Code and become a pro in the subject.

Related Java Decision Making and Loop Programs: