witam wszystkich
chciałem prosić o drobną pomoc przy mojej małej grze, otóż nie wiem trochę jak ogarnąć blok try catch tak aby w wypadku gdy użytkownik poda zamiast liczby całkowitej przykładowo litere to oprócz komunikatu będzie mógł wprowadzić liczbę ponownie i ogólnie cała gra się nie posypie. Bo jak na razie to jestem na etapie w którym po podaniu niewłaściwej wartości program komunikuje jedynie o błędzie i kończy pracę
import java.util.*;
public class RandomNumberGame {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
try {
System.out.print("Podaj zakres z jakiego mają być losowane liczby: ");
int rangeFromUser=sc.nextInt();//zakres podany przez użytkownia
int luckyNumber= (int) ((Math.random()*rangeFromUser)+1);//liczba wylosowana na podstawie zakresu podanego przez użytkownika
System.out.println(luckyNumber);
System.out.println("Podaj liczbę: ");
int userInput=sc.nextInt();//liczba zgadywana przez użytkownika
while (userInput!=luckyNumber){
System.out.println("zgaduj jeszcze raz: ");
userInput=sc.nextInt();
if (userInput>rangeFromUser){
System.out.println("za wysoka wartość");
}else if (userInput<0){
System.out.println("za mała wartość");
}
}
System.out.println("Gratulacje Zgadłeś!");
}catch (InputMismatchException ex){
System.out.println("podałeś niepoprawną wartość\nspróbuj ponownie: ");
}
}
}