Answered! Most of us have played the "high-low" guessing game wherein one player picks a number and the other player tries to…

Most of us have played the “high-low” guessing game wherein one player picks a number and the other player tries to guess what the number is; in this game, if the guessing player guesses less than the number, then the other player responds “too low,” and if the player guesses more than the number, then the other player responds “too high.” This keeps going until the guessing player correctly guesses the number.

Your task in this assignment is to implement such a guessing game using exceptions. Implement an exception-handling console application with the following:

Program generates random number that user tries to guess

User enters guess

Program generates tooHigh, tooLow or correct exception

Exception handler prints appropriate response to user and repeats b-d until correct guess

Expert Answer

 HighLow.java

import java.util.Random;
import java.util.Scanner;

public class HighLow {

public static void main(String[] args) {

//Declaring variables
int guessNum, randNum;

// Scanner object is used to get the inputs entered by the user
Scanner sc = new Scanner(System.in);

// Creating a random Class object
Random r = new Random();

//Generating random number
randNum = r.nextInt(100) + 1;

//This loop continues to execute until the user enters correct number
while (true) {

/* This loop continues to execute until
* the user enters a valid number between 1-100
*/
while (true) {
//Getting the number entered by the user
System.out.print(“Guess a number Between 1-100 :”);
guessNum = sc.nextInt();
//Checking whether the user entered a valid number or not
if (guessNum < 0 || guessNum > 100) {
System.out.println(“** Invalid.Must be between 1-100 **”);
continue;
} else
break;
}

try {
/* Based on the user entered number
* generate the appropriate Exception
*/
if (guessNum < randNum) {
throw new TooLowException(“Too Low”);
} else if (guessNum > randNum) {
throw new TooHightException(“Too High”);
} else {
throw new CorrectException(“Correct”);
}
} catch (CorrectException e) {
break;
} catch (Exception e) {
continue;
}
}

}

}

____________________

TooHightException.java

public class TooHightException extends Exception {

public TooHightException(String str)
{
System.out.println(str);
}
}

____________________

TooLowException.java

public class TooLowException extends Exception {
public TooLowException(String str)
{
System.out.println(str);
}
}

______________________

CorrectException.java

public class CorrectException extends Exception {
public CorrectException(String str)
{
System.out.println(str);
}

}

____________________

Output:

Guess a number Between 1-100 :200
** Invalid.Must be between 1-100 **
Guess a number Between 1-100 :99
Too High
Guess a number Between 1-100 :50
Too Low
Guess a number Between 1-100 :60
Too Low
Guess a number Between 1-100 :70
Too Low
Guess a number Between 1-100 :80
Too Low
Guess a number Between 1-100 :90
Too High
Guess a number Between 1-100 :85
Too Low
Guess a number Between 1-100 :87
Too Low
Guess a number Between 1-100 :89
Correct

Still stressed from student homework?
Get quality assistance from academic writers!