Первая проблема:
for (int i =0 ; i<a.length-1 ;i++) {
System.out.println(a[i]);
}
В вашем методе display()
вы выполняете цикл до тех пор, пока длина не станет меньше минус один, что не будет отображать последнее значение.Измените это на i<a.length
И снова в вашем методе selectionsort()
вы зацикливаетесь так, чтобы последний элемент никогда не касался.Во-вторых, вам не хватает скобок вокруг одного из ваших if
утверждений.Это делает так, чтобы строка minindex = j;
не находилась внутри блока if
и поэтому всегда выполнялась.Изменить:
if(min>a[j])
min = a[j];
minindex = j ;
На:
if(min>a[j]) {
min = a[j];
minindex = j ;
}