【发布时间】:2015-12-02 01:44:56
【问题描述】:
public static void sortByNumber(Course[] list) {
Course temp = new Course();
boolean fixed = false;
while(fixed == false) {
fixed = true;
for (int i = 0; i<list.length-1; i++) {
if (list[i].getNum() > list[i+1].getNum()) {
temp.setNum(list[i].getNum());
temp.setDept(list[i].getDept());
temp.setTitle(list[i].getTitle());
list[i] = list[i+1];
list[i+1] = temp;
fixed = false;
}
}
}}
这是一种对大学开设的课程进行排序的方法。
例如,每门课程都有其部门(即 MATH)、编号(即 263)和标题(即工程师的常微分方程) - MATH 263 工程师的常微分方程。
在我的另一个类中,我创建了一个对象 Course,它有自己的访问器和修改器(即 getNum()、setNum()、getDept() 等)。
鉴于课程列表很长,我想根据课程编号来排列它们,但是上面的方法似乎不起作用。
有人可以暗示这样做的原因吗?
【问题讨论】:
-
从最少到最多排列,{100,101,102...201,202,...}
-
提示:看看你的二传手。您不是在考虑面向对象的编程。在你调用它的 setter 之前 temp 是多少?之后是什么?