public class RecursionDemo2
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: