public static void main(String[] args) {
// TODO Auto-generated method stub
char c;
do {
Scanner s=new Scanner(System.in);
try {
int size=s.nextInt();
int[] arr=new int[size];
for(int i=0;i<size;i++) {
arr[i]=s.nextInt();
}
bubblesort(arr);
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
} catch(Exception e) {
System.out.println("Invalid Input");
} finally {
System.out.println("Want to repeat(y/n)");
System.out.println(s);
c=s.next().charAt(0);
}
} while(c=='y' || c=='Y');
}
Когда я даю действительный ввод, то после выполнения сортировки он также принимает входной символ c внутри блока finally, но когда я даю недопустимый ввод, то после перехода к блоку catch он только печатает вывод внутри блока finally, но не Не принимает вводимый символ c. Почему так происходит?