Ein paar Anmerkungen zu der Aufgabe.
1) Musst Du die Koordinaten der Städte in zwei geterenten Arrays für x und y speichern oder kennst Du einfach noch keine Alterneativen? Z.B. die von JAVA mitgelieferte Klasse java.awt.Point (kannst Du mal googeln) würde Dir schon etwas Arbeit abnehmen und den Code ein klein wenig objektorientierter machen. Jede Stadt könnte dann durch einen Punkt repräsentiert werden, der intern die x- und y-KO speichert und die mitgelieferte Methode distance() berechnet auch noch mal schnell den Abstand zu einem anderen Punkt.
2) Die in Deinem Beispiel aufgeführeten Koordinaten haben stets identische x- und y-Werte, liegen somit auf einer Geraden. Das macht die Problemlösung trivial, denn es reicht nun, die Arrays der Größe nach zu sortieren und fertig ist die kürzeste Route. Ich schätze, dass das aber in der 'Realität' nicht so vorkommen wird.
3) Die Route muss gespeichert werden. Beispielsweise in Form eines Arrays, in welches nur die Indizes der/des ursprünglichen KoordinatenArrays in der ermittelten Reihenfolge abgelegt werden. Z.B. route[routenIndex] = stadtIndex (wenn stadtIndex auf die Koordinaten der nächstgelegen Stadt zeigt).
4) Der Suchalgorithmus muss ausschließen, dass Du eine Stadt zweimal durchfährst. Bedenke: Wenn Stadt A und Stadt F sich am nächsten liegen, dann liegt Stadt F auch wiederum der Stadt A am nächsten. Soll die Route deswegen wieder zu A zurückführen? Wohl nicht.
5) Wenn die Städte in der Ebene verteilt sind, wird allein die Suche nach der nächstgelegen (und noch nicht besuchten) Stadt nicht zwingend zur kürzesten Routenlänge führen. Um die kürzeste Route zu finden, müüsen tatsächlich alle möglichen Routen durchrerechnet werden.
Ausgehend von Stadt A und neun weiteren Städten wären das ca. 360 000 kombinationen (Fakultät 9).