O ładnie. To teraz tak. Fajnie byłoby jakbyś używał kolekcji np. ArrayList no chyba, że masz wymóg używania tablic ?? Kolekcję bardzo ułatwiają pracę dostarczając wiele funkcji jak np. sortowanie. Przykład:
List<Integer> lista = new ArrayList<Integer>();
//Dodawanie elementów do listy
lista.add (1); //doda 1 do listy
lista.add(8) // doda 8 do listy
lista.add(jakasWartosc) //doda jakiegoś innego Inta
//sortowanie jest jeszcze prostsze
lista.sort( (a,b) -> a.compareTo(b) );
Po drugie problem z podaniem liczb jakie użytkownik chce wypisać możesz rozwiązać na co najmniej 2 sposoby. Pierwszy z nich to tak jak robisz wyżej czyli najpierw pytasz użytkownika o ilość liczb jakie będzie chciał podać, robisz tablicę o takim rozmiarze i wpisujesz te liczby do niej (i taki kod już napisałeś) a drugi to stworzenie do-while, który będzie działał do momentu wystąpienia np. znaku x.
String comand;
Integer ile=null;
ArrayList<Integer> numbers = new ArrayList<>();
do{
System.out.println("Ktore liczby chcesz wypisać, [x] - zakoncz: ");
comand = sr.next().trim();
if(comand.equalsIgnoreCase("x")) break;
numbers.add(Integer.parseInt(comand));
}while(!comand.equalsIgnoreCase("x"));
W drugim przypadku korzystam z ArrayList do trzymania wybranych liczb , gdyż wykorzystując kolekcję nie musisz inicjalizować ich rozmiaru (powiększają się same). Resztę operacji na kolekcjach jak możesz z nich wyrzucić dane elementy przedstawił @Rizorz
No chyba, ze jednak musem są te tablice to napisz to będziemy kombinować dalej