public class NumberOfZerosInN
1: //NumberOfZerosInN.java
2:
3: public class NumberOfZerosInN
4: {
5: public static void main(String[] args)
6: {
7: System.out.println("\nTesting numberOfZerosInN() ...");
8: System.out.println(numberOfZerosInN(123456));
9: System.out.println(numberOfZerosInN(0));
10: System.out.println(numberOfZerosInN(101010));
11: System.out.println(numberOfZerosInN(100000));
12: System.out.println(numberOfZerosInN(100001));
13: System.out.println(numberOfZerosInN(100100));
14: System.out.println(numberOfZerosInN(1001001));
15: }
16:
17: //Computes and returns the number of zero digits
18: //in a non-negative integer n
19: public static int numberOfZerosInN(int n)
20: {
21: if (n == 0)
22: return 1;
23: else if (n < 10)
24: return 0; //n has one digit that is not 0
25: else if (n % 10 == 0)
26: return numberOfZerosInN(n / 10) + 1;
27: else //n % 10 != 0 at this point
28: return numberOfZerosInN(n / 10);
29: }
30: }