0
我閱讀了一個包含城市及其人口的文件,我嘗試使用選擇類別按字母順序對城市進行分類。 問題是,由於某種原因,它以奇怪的方式排序。 「排序」列表的順序是「ABDCEFHG ...」我試着跟着它,但我無法理解它在哪裏混亂。這是代碼:選擇分類字符串
//Selection
for (int i = 0; i < cities.size() - 1; i++)
{
int minPos = i;
for (int j = i + 1; j < cities.size(); j++)
{
if (cities.get(j).compareToIgnoreCase(cities.get(minPos)) < -1)
minPos = j;
}
swap(cities, minPos, i);
}
System.out.print("\nSelection: ");
for(int i = 0; i < cities.size(); i++)
System.out.print(cities.get(i) +"|");
private static void swap(ArrayList <String> a, int i, int j)
{
String temp = a.get(i);
a.set(i, a.get(j));
a.set(j, temp);
}
任何想法有什麼不對?
感謝
您是否嘗試過使用'... <0'而不是'... <-1'? – August 2015-03-02 23:22:45
你爲什麼使用<-1?你應該使用<0 – thermite 2015-03-02 23:23:06
是的,這是問題。這是我第一次使用字符串比較,所以我對它有點新。謝謝! – Nik 2015-03-02 23:26:49