Source of NumberOfZerosInN.java


  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: }