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