Source of RecursionDemo2.java


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