Source of RecursionDemo2.java


  1: 
  2: import java.util.Scanner;
  3: 
  4: public class RecursionDemo2
  5: {
  6:     public static void main(String[] args)
  7:     {
  8:          System.out.println("Enter a nonnegative number:");
  9:          Scanner keyboard = new Scanner(System.in);
 10:          int number = keyboard.nextInt( );
 11:          System.out.println(number + " contains " +
 12:                                                         getNumberOfZeros(number) + " zeros.");
 13:     }
 14: 
 15:     /**
 16:      Precondition: n >= 0
 17:      Returns the number of zero digits in n.
 18:     */
 19:     public static int getNumberOfZeros(int n)
 20:     {
 21:                 int result;
 22:                 
 23:         if (n == 0)
 24:             result = 1;
 25:         else if (n < 10) 
 26:             result = 0;  //n has one digit that is not 0
 27:         else if (n % 10 == 0)
 28:             result = getNumberOfZeros(n / 10) + 1;
 29:         else //n % 10 != 0
 30:             result = getNumberOfZeros(n / 10);
 31:                         
 32:                 return result;
 33:     }
 34: }
 35: 
 36: 
 37: 
 38: 
 39: 
 40: