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.
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);
}
}
When you run the program, the output will be:
Number of digits: 4
In this program, while loop is iterated until the test expression num != 0
is evaluated to 0 (false).
- After first iteration, num will be divided by 10 and its value will be 345. Then, the count is incremented to 1.
- After second iteration, the value of num will be 34 and the count is incremented to 2.
- After third iteration, the value of num will be 3 and the count is incremented to 3.
- After 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);
}
}
When you run the program, the output will be:
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);