Я пытаюсь добавить проверку ввода в это меню. Когда пользователь вводит, например: «a» или любой ввод, который не является целым числом и с заданным диапазоном, он должен выполнить блок catch и l oop снова, чтобы предложить пользователю ввести снова, но вместо этого он продолжает бесконечно повторяться после получения вход один раз. Таким образом, он начинается с выполнения меню и просто пропускает часть ввода и выполняет блок catch.
Редактировать: он переходит в бесконечное число l oop, если я ввожу что-либо, что не является целым числом.
Scanner sc = new Scanner(System.in);
int x = 1;
do{
try
{
System.out.println("Select option ");
System.out.println("1) Circle ");
System.out.println("2) Rectangle ");
System.out.println("3) Triangle ");
System.out.println("4) Exit ");
x = sc.nextInt();
}
catch(Exception e)
{
System.out.print("Invalid data");
}
}while(x<1 || x>4);