Добрый день.Массив сортируется вроде правильно, но что то не проходит. Что мог упустить?
package com.javarush.task.task26.task2601;
import java.util.*;
/*
Почитать в инете про медиану выборки
*/
public class Solution {
public static void main(String[] args) {
Integer[] array={8, 4, 1, -5, 2, 7, 16, 15, 9, 0, -2, -9, -4, 20};
sort(array);
// System.out.println(Arrays.toString(array));
}
public static Integer[] sort(Integer[] array) {
//implement logic here
double ar;
Integer[] arra=array;
Arrays.sort(arra);
// System.out.println(Arrays.toString(arra));
if(arra.length%2==0) {
ar=(arra[arra.length/2]+arra[arra.length/2-1])/2.0;}
else{ar=arra[(arra.length+1)/2-1]*1.0;}
// System.out.println(ar);
Comparator <Integer> compareByWeight = new Comparator <Integer>()
{ public int compare(Integer o1, Integer o2)
{
if((Math.abs(ar-o1)-Math.abs(ar-o2))==0)
return o1<o2? o1:o2;
else
return (int)( (Math.abs(ar-o1*1.0)-Math.abs(ar-o2*1.0)));
} };
Arrays.sort(arra,compareByWeight);
// System.out.println(Arrays.toString(array));
return arra;
}
}