Dobra trochę pogłówkował człowiek ....
Problem z kodem polega na tym, że zły format nazwy punktu jest przypisywany do obiektu Point. W oryginalnej specyfikacji, nazwa punktu jest opisana jako ciąg co najwyżej 10 liter alfabetu łacińskiego, ale w kodzie, litera jest rzutowana na typ char i przypisana jako pojedynczy znak. W wyniku tego, każdy punkt zostanie oznaczony tylko jednym znakiem, a nie unikalnym ciągiem liter.
Aby to naprawić, zmodyfikuj konstruktor klasy Point, aby korzystał z nazwy punktu, zamiast pojedynczego znaku. Zmodyfikowany konstruktor powinien wyglądać tak:
Point(String name, int x, int y)
{
this.name = name;
this.distance = (x * x) + (y * y);
}
Następnie zmodyfikuj część kodu, która tworzy nowe obiekty Point, tak aby używała ciągu znaków jako nazwy punktów:
for(int j = 0; j < n; j++)
{
String name = input.next();
int x = input.nextInt();
int y = input.nextInt();
points[j] = new Point(name, x, y);
}
Teraz powinno elegancko sortować od środka, jakbyś miał dodatkowe pytania to daj znaka.