Join our newsletter for the latest updates.
Java Program to Count Number of Digits in an Integer

Java Program to Count Number of Digits in an Integer

In this program, you'll learn to count the number of digits using a while loop and for loop in Java.

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 NumberDigits {

    public static void main(String[] args) {

        int count = 0, num = 3452;

        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.

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

public class NumberDigits {

    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);