It is an object oriented programming question. 3a) Using only conditionals and relational operators, write the method smallestPositive that takes two numbers and returns the smallest positive one. If neither argument is positive,it returns 0 For example, smallestPositive (7,4) and smallestPositive (4,7) both return 4, smallestPositive (7,-4) and smallestPositive (-4,7) both return 7, and smallestPositive (-7,-4) returns 0 public int smallestPositive (int x, int y) should return the smallest positive of x and y or 0 for two non-positive arguments. (6 marks) 3b) Using only logical (Boolean) operators, write the method mixture that takes three Booleans and returns true if and only if they contain at least one true, and also at least one false. For example, mixture (true, false, false) and mixture (false, true, true) both return true, but mixture (true,true,true) returns false. public boolean mixture (boolean x, boolean y, boolean z) should return true iff x,y,z are a mixture of true and false. (4 marks) Solution public class Keypad { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print(\"Enter a string: \"); String s = input.nextLine(); System.out.println(getNumbers(s)); } public static String getNumbers(String s) { String result = new String(); //Read and append s onto result for (int i = 0; i < s.length(); i++) { if (Character.isLetter(s.charAt(i))) { result += getNumber(Character.toUpperCase(s.charAt(i))); } else { result += s.charAt(i); } } return result; } public static int getNumber(char upperCaseLetter) { int number = ((upperCaseLetter - \'A\') / 3) + 2; if (number < 7) { return number; } else if (upperCaseLetter - \'A\' < 20) { return 7; } else if (upperCaseLetter - \'A\' < 23) { return 8; } else { return 9; } } } .