Java Program to Count Number of Digits in an Integer

To understand this example, you should have the knowledge of the following Java programming topics:


Example 1: Count Number of Digits in an Integer using while loop

public class Main {

  public static void main(String[] args) {

    int count = 0, num = 0003452;

    while (num != 0) {
      // num = num/10
      num /= 10;
      ++count;
    }

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

Output

Number of digits: 4

In this program, while the loop is iterated until the test expression num != 0 is evaluated to 0 (false).

  • After the first iteration, num will be divided by 10 and its value will be 345. Then, the count is incremented to 1.
  • After the second iteration, the value of num will be 34 and the count is incremented to 2.
  • After the third iteration, the value of num will be 3 and the count is incremented to 3.
  • After the fourth iteration, the value of num will be 0 and the count is incremented to 4.
  • Then the test expression is evaluated to false and the loop terminates.

Note: The program ignores any zero's present before the number. Hence, for digits like 000333, the output will be 3.


Example 2: Count Number of Digits in an Integer using for loop

public class Main {

  public static void main(String[] args) {

    int count = 0, num = 123456;

    for (; num != 0; num /= 10, ++count) {
    }

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

Output

Number of digits: 6

In this program, instead of using a while loop, we use a for loop without any body.

On each iteration, the value of num is divided by 10 and count is incremented by 1.

The for loop exits when num != 0 is false, i.e. num = 0.

Since, for loop doesn't have a body, you can change it to a single statement in Java as such:

for(; num != 0; num/=10, ++count);

Also Read:

Before we wrap up, let’s put your knowledge of Java Program to Count Number of Digits in an Integer to the test! Can you solve the following challenge?

Challenge:

Write a function to count the number of digits in a number.

  • Return the count of digits in the integer num.
  • For example, if num = 2463, the expected output is 4.
Did you find this article helpful?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community