Computers and Technology

Consider the following code.public void printNumbers(int x, int y) { if (x < 5) { System.out.println("x: " + x); } if (y > 5) { System.out.println("y: " + y); } int a = (int)(Math.random() * 10); int b = (int)(Math.random() * 10); if (x != y) printNumbers(a, b);}Which of the following conditions will cause recursion to stop with certainty? A. x < 5 B. x < 5 or y > 5 C. x != y D. x == yConsider the following code.public static int recur3(int n) { if (n == 0) return 0; if (n == 1) return 1; if (n == 2) return 2; return recur3(n - 1) + recur3(n - 2) + recur3(n - 3);}What value would be returned if this method were called and passed a value of 5? A. 3 B. 9 C. 11 D. 16Which of the following methods correctly calculates the value of a number x raised to the power of n using recursion? A. public static int pow(int x, int n) { if (x == 0) return 1; return x * pow(x, n);} B. public static int pow(int x, int n) { if (x == 0) return 1; return x * pow(x, n - 1);} C. public static int pow(int x, int n) { if (n == 0) return 1; return x * pow(x, n);} D. public static int pow(int x, int n) { if (n == 0) return 1; return x * pow(x, n - 1);}Which of the following methods correctly calculates and returns the sum of all the digits in an integer using recursion? A. public int addDigits(int a) { if (a == 0) return 0; return a % 10 + addDigits(a / 10);} B. public int addDigits(int a) { if (a == 0) return 0; return a / 10 + addDigits(a % 10);} C. public int addDigits(int a) { return a % 10 + addDigits(a / 10);} D. public int addDigits(int a) { return a / 10 + addDigits(a % 10);}The intent of the following method is to find and return the index of the first x character in a string. If this character is not found, -1 is returned.public int findX(String s) { return findX(s, 0);}Which of the following methods would make the best recursive helper method for this task? A. private int findX(String s) { if (index >= s.length()) return -1; else if (s.charAt(index) == 'x') return index; else return findX(s);} B. private int findX(String s, int index) { if (index >= s.length()) return -1; else return s.charAt(index);} C. private int findX(String s, int index) { if (index >= s.length()) return -1; else if (s.charAt(index) == 'x') return index; else return findX(s, index);} D. private int findX(String s, int index) { if (index >= s.length()) return -1; else if (s.charAt(index) == 'x') return index; else return findX(s, index + 1);}