晚上好
我和我的芽试图弄清楚为什么该程序不会对我们输入的名称进行冒泡排序,也许有人会提示它。
public static void sortDatPlane(String Ref[]){
int n = Ref.length;
int k = 1;
int j = n - 2;
int i;
while(k < n){
i = 0;
while (i <= j) {
if(notInOrder(Ref, i, i+1)){
swap(Ref, i, i+1);
}
i++;
}
k++;
}
for (String Ref1 : Ref) {
System.out.println(Ref1);
}
}
public static void swap(String Ref[], int i, int j){
String temp = Ref[i];
Ref[i] = Ref[j];
Ref[j] = temp;
}
public static boolean notInOrder(String Ref[],int i, int j){
return Ref[i].substring(0,1).compareTo(Ref[j].substring(0,1)) == 1;
}
答案 0 :(得分:1)
如Ken Y-N在评论中所述,您仅在比较字符串的第一个字符(substring(0, 1)
会这样做)。删除该部分,它可能会起作用。