//**************************** PickerApp CLass****************************************************** package increment.pick; import java.util.Random; public class PickerApp { private int upperLimit; private int number; private int guessCount; /** * Default constructor */ public PickerApp() { this(50); } /** * Parameterized constructor * param upperLimit */ public PickerApp(int upperLimit) { this.upperLimit = upperLimit; Random random = new Random(); number = random.nextInt(upperLimit - 1) + 1; guessCount = 1; } public int getNumber() { return number; } public int getGuessCount() { return guessCount; } public int getUpperLimit() { return upperLimit; } public void incrementGuessCount() { guessCount = guessCount + 1; } } //********************************** PICK CLass**************************************************** package increment.pick; import java.util.Scanner; public class Pick { public static void main(String args[]) { System.out.println(\"Hello \"); System.out.println(); Scanner sc = new Scanner(System.in); PickerApp game = new PickerApp(); System.out.println(\"I have selected a number between 0 and \" + game.getUpperLimit()); System.out.println(); while(true) { System.out.print(\"Enter your guess: \"); //A) a) int guess = 0; try { //C) g) guess = Integer.parseInt(sc.nextLine()); //A) a) } catch(NumberFormatException nfe) { System.out.println(\"Invalid number\"); continue; } //D) i) if((guess <= 0) || (guess >= game.getUpperLimit())) System.out.println(\"Enter a between 0 and \" + game.getUpperLimit() + \" both exclusive\"); else { if(guess == game.getNumber()) //A) b) If user guesses the correct number break break; else if (guess > (game.getNumber() + 10)) { //B) d) System.out.println(\"Way too high!\ \"); } else if (guess < game.getNumber()) { System.out.println(\"Your guess is too low.\ \"); } else if (guess > game.getNumber()) { System.out.println(\"Your guess is too high.\ \"); } } game.incrementGuessCount(); } //B) e) if(game.getGuessCount() <= 3) System.out.println(\"Great work! You are a mathematical wizard.\"); else if((game.getGuessCount() > 3) && (game.getGuessCount() <= 7)) System.out.println(\"Not too bad! You\'ve got some potential.\"); else if(game.getGuessCount() > 7) System.out.println(\"What took so you so long? Maybe you shoould take some lessons\"); //Close scanner sc.close(); } } SAMPLE OUTPUT: Hello I have selected a number between 0 and 50 Enter your guess: 0 Enter a between 0 and 50 both exclusive Enter your guess: 50 Enter a between 0 and 50 both exclusive Enter your guess: 2 Great work! You are a mathematical wizard. Solution //**************************** PickerApp CLass****************************************************** package increment.pick; import java.util.Random; public class PickerApp { private int upperLimit; private int number; private int guessCount; /** * Default constructor */ public PickerApp() { this(50); } /** * Parameterized constructor * param upperLimit */ public PickerApp(int upperLimit).