1

I am trying to make a Guessing Game for a Java assignment, I have everything I need except exception handling, you see I'm trying to make it display an error message instead of displaying Exception in thread "main" java.util.InputMismatchException when someone tries to enter a numerical number in alphabetical form. The code I have is followed. (I know I need a try and catch but I don't know what to put exactly.)

package guessNumber; import java.util.Scanner; public class GuessNumberApp { public static void main(String[] args) { final int LIMIT = 10; System.out.println("Guess the number!"); System.out.println("I'm thinking of a number from 1 to " + LIMIT); System.out.println(); // get a random number between 1 and the limit double d = Math.random() * LIMIT; // d is >= 0.0 and < limit int number = (int) d; // convert double to int number++; // int is >= 1 and <= limit // prepare to read input from the user Scanner sc = new Scanner(System.in); int count = 1; while (true) { int guess = sc.nextInt(); System.out.println("You guessed: " + guess); if (guess < 1 || guess > LIMIT) { System.out.println("Your Guess is Invalid."); continue; } if (guess < number) { System.out.println("Too Low."); } else if (guess > number) { System.out.println("Too High."); } else { System.out.println("You guessed it in " + count + " tries.\n"); break; } count++; } System.out.println("Bye!"); } } 
1
  • You can use java.util.Random class for generating a random number Commented Apr 6, 2020 at 20:06

1 Answer 1

1

try something like that:

try { int guess = sc.nextInt(); } catch(InputMismatchException e) { System.out.println("some nice error message"); continue; } 

This would replace

int guess = sc.nextInt(); 
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.