Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 排序数组:气泡排序 publicstaticvoidsortbynumber(课程[]列表){ 课程温度=新课程(); 布尔固定=假; while(fixed==false){ 固定=正确; 对于(int i=0;i list[i+1].getNum()){ temp.setNum(list[i].getNum()); temp.setDept(列表[i].getDept()); temp.setTitle(list[i].getTitle()); 列表[i]=列表[i+1]; 列表[i+1]=临时; 固定=假; } } }}_Java_Arrays_Sorting - Fatal编程技术网

Java 排序数组:气泡排序 publicstaticvoidsortbynumber(课程[]列表){ 课程温度=新课程(); 布尔固定=假; while(fixed==false){ 固定=正确; 对于(int i=0;i list[i+1].getNum()){ temp.setNum(list[i].getNum()); temp.setDept(列表[i].getDept()); temp.setTitle(list[i].getTitle()); 列表[i]=列表[i+1]; 列表[i+1]=临时; 固定=假; } } }}

Java 排序数组:气泡排序 publicstaticvoidsortbynumber(课程[]列表){ 课程温度=新课程(); 布尔固定=假; while(fixed==false){ 固定=正确; 对于(int i=0;i list[i+1].getNum()){ temp.setNum(list[i].getNum()); temp.setDept(列表[i].getDept()); temp.setTitle(list[i].getTitle()); 列表[i]=列表[i+1]; 列表[i+1]=临时; 固定=假; } } }},java,arrays,sorting,Java,Arrays,Sorting,这是一种对大学提供的课程进行排序的方法 例如,每门课程都有自己的系(即数学)、编号(即263)和名称(即工程师的常微分方程)——数学263工程师的常微分方程 在我的另一个类中,我创建了一个对象过程,它有自己的访问器和变异器(即getNum()、setNum()、getDept()等等) 考虑到一长串的课程,我想根据课程编号来安排,但上面的方法似乎不起作用 有人能暗示一下原因吗 变量temp是对课程对象的引用 实际上,数组列表是对课程对象的引用数组 您只需要更改引用,而不需要将对象的值复制到tem

这是一种对大学提供的课程进行排序的方法

例如,每门课程都有自己的系(即数学)、编号(即263)和名称(即工程师的常微分方程)——数学263工程师的常微分方程

在我的另一个类中,我创建了一个对象过程,它有自己的访问器和变异器(即getNum()、setNum()、getDept()等等)

考虑到一长串的课程,我想根据课程编号来安排,但上面的方法似乎不起作用


有人能暗示一下原因吗

变量
temp
是对
课程
对象的引用

实际上,数组
列表
是对
课程
对象的引用数组


您只需要更改引用,而不需要将对象的值复制到
temp
。只要做
temp=list[i]
保留对数组第i个元素的引用。

变量
temp
是对
课程
对象的引用

实际上,数组
列表
是对
课程
对象的引用数组


您只需要更改引用,而不需要将对象的值复制到
temp
。只要做
temp=list[i]
保留对数组第i个元素的引用。

我更愿意实现
Comparable
接口

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;
        }
    }
    }}
课程实施可比性{
@凌驾
公共国际比较(课程其他){
返回这个.getNum().compareTo(other.gerNum());
}
}

然后您可以使用
Array.sort(Course[]list)
对课程数组进行排序。

我更愿意实现
Comparable
界面

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;
        }
    }
    }}
课程实施可比性{
@凌驾
公共国际比较(课程其他){
返回这个.getNum().compareTo(other.gerNum());
}
}

然后您可以使用
Array.sort(Course[]list)
对课程数组进行排序。

至少对大多数课程进行排序,{100101102…201202,}提示:请查看设置器。您没有考虑面向对象编程。在你称之为设定器之前,temp是什么?接下来是什么?至少对大多数人安排,{100101102…201202,}提示:看看你的二传手。您没有考虑面向对象编程。在你称之为设定器之前,temp是什么?之后是什么?我看到我的冗余效率很低,但为什么它会产生错误的结果?您将第I个引用指向下一个对象(第I+1个,没关系),但是要确保i+1次引用始终指向temp对象,而不是指向第i次对象。您可以在循环中初始化
temp
,这将是正确的,但这将是冗余和低效的。将你的温度指向i+1是最好的解决方案。查看RosettaCode上的气泡排序算法和其他一些排序方法,以了解它们。我发现我的冗余效率很低,但为什么它会产生错误的结果呢?您将第I个引用指向下一个对象(第I+1个,没关系),但是要确保i+1次引用始终指向temp对象,而不是指向第i次对象。您可以在循环中初始化
temp
,这将是正确的,但这将是冗余和低效的。将你的温度指向i+1是最好的解决方案。查看RosettaCode上的气泡排序算法和其他一些排序方法,以了解它们。