public class RecursionDemo2
1: //RecursionDemo2.java
2:
3: import java.util.Scanner;
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: + getNumberOfZeros(number) + " zeros.");
14: }
15:
16: /**
17: * Precondition: n >= 0.
18: * Returns the number of zero digits in n.
19: */
20: public static int getNumberOfZeros
21: (
22: int n
23: )
24: {
25: int result;
26:
27: if (n == 0)
28: result = 1;
29: else if (n < 10)
30: result = 0; //n has one digit that is not 0
31: else if (n % 10 == 0)
32: result = getNumberOfZeros(n / 10) + 1;
33: else //n % 10 != 0
34: result = getNumberOfZeros(n / 10);
35:
36: return result;
37: }
38: }