Поскольку длина массива четна, мы должны добавить 12 + 8 = 20, а затем разделить это на два.20/2 = 10. Но почему он печатает 30 в консоли?Даже если я исключаю Arrays.sort(a);
, он все равно печатает 30.
Он должен печатать 10. Что я делаю неправильно?
public static void solution(int[] a) {
Arrays.sort(a);
int median = 0;
if(a.length % 2 != 0) {
median = a[(a.length - 1) / 2];
} else {
median = (a[(a.length / 2)] + a[(a.length - 1 / 2) - 1]) / 2;
}
System.out.println(median);
}
public static void main(String args[]) {
int[] a = {5,9,8,12,19,48};
solution(a);
}