Вы можете сделать это следующим образом:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
private static Scanner sc;
public static void main(String[] args) {
int size, i;
sc = new Scanner(System.in);
System.out.print("Enter how many numbers you want to sort: ");
size = sc.nextInt();
int[] a = new int[size];
System.out.print("Enter " + size + " numbers which should be sorted: \n");
for (i = 0; i < size; i++) {
try {
a[i] = sc.nextInt();
} catch (InputMismatchException e) {
System.out.println("Invalid input");
break;
}
}
if (i == size) {
Arrays.sort(a);
System.out.println("\nAfter sorting: ");
for (int number : a) {
System.out.print(number + " ");
}
}
}
}
Образец прогона-1:
Enter how many numbers you want to sort: 3
Enter 3 numbers which should be sorted:
10 a 30
Invalid input
Образец прогона-2:
Enter how many numbers you want to sort: 3
Enter 3 numbers which should be sorted:
20 10 30
After sorting:
10 20 30
Примечания:
A. Вы всегда должны соблюдать соглашение об именах. Проверьте https://www.oracle.com/technetwork/java/codeconventions-135099.html для деталей.
B. Вы можете заменить
System.out.println("Invalid input");
break;
на
throw new InputMismatchException("Invalid input");
, но это сделает вывод уродливым, например
Enter how many numbers you want to sort: 3
Enter 3 numbers which should be sorted:
20 a 30
Exception in thread "main" java.util.InputMismatchException: Invalid input
at Main.main(Main.java:22)