【发布时间】:2011-12-08 17:09:49
【问题描述】:
我有两个数组,一个用于温度,一个用于城市。如果两个温度相同,则相应的城市必须按字母排序顺序显示。例如
- 24 悉尼
- 22 雅典
- 22 奥克兰
- 20 巴塞罗那
--->这是排序代码。
public static void sort(String[] x , double[] y) {
boolean doMore = true;
while(doMore) {
doMore = false;
for(int i=0; i< x.length-1; i++) {
if(y[i] == y[i+1] && x[i] < x[i+1]) {
String temp2 = x[i];
x[i] = x[i+1];
x[i+1] = temp2;
} else if (y[i] < y[i+1]) {
double temp = y[i];
y[i] = y[i+1];
y[i+1] = temp;
String temp2 = x[i];
x[i] = x[i+1];
x[i+1] = temp2;
doMore = true;
}//if
}//for 2
}//while
}// sort */
问题在于if(y[i] == y[i+1] && x[i] < x[i+1])
我不能只用操作员> 比较 2 次蜇伤。我也不能使用任何现成的排序方法。
有人知道如何按字母顺序对字符串进行排序吗?
【问题讨论】:
-
你不能用
compareTo吗?例如。if(str1.compareTo(str2) > 0) -
不,我们不应该使用任何现成的方法。因此我们必须自己编写代码。
标签: java arrays string sorting