【发布时间】:2012-11-14 14:55:51
【问题描述】:
我有一个数据文件,我需要按车辆的品牌和型号对信息进行排序。我的冒泡排序不起作用,你能帮我解决我的问题吗?非常感谢! 附言我不能有额外的方法:(如果我删除 getMake() 方法,它可以工作,但 && getModel 根本不起作用:(
public static void sortByVehicleMakeModel(Vehicle[] vehicles) {
for(int y = 0; y < vehicles.length; y++) {
for (int x = 0 ; x < vehicles.length - 1 ; x++){
if((vehicles[x].getMake().compareToIgnoreCase(vehicles[x+1].getMake()) > 0) && (vehicles[x].getModel().compareToIgnoreCase(vehicles[x+1].getModel()) > 0)) {
swap(vehicles, x, x + 1);
}
}
}
for(int x = 0; x < vehicles.length - 1; x++){
System.out.println(vehicles[x].getMake());
}
}
【问题讨论】:
-
怎么了?如果它抛出错误,你能给出一个堆栈跟踪,或者描述它给出的错误输出吗?
-
@awolfe91 没有错误,只是没有排序!!!
-
它不起作用,因为只有在 AND 制造的模型不同时才交换它们。您需要考虑到make 相同,但model 不同的情况。看我的回答...
标签: java arrays sorting object methods