Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.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循环直到对象列表为空_Java_Jquery_Sorting - Fatal编程技术网

java循环直到对象列表为空

java循环直到对象列表为空,java,jquery,sorting,Java,Jquery,Sorting,此代码试图将等级从最高到最低排序 我的代码: public static Grades sort(Grades mergedGrades, Grades repeat) { Grades sortedGrades = new Grades(); Grade highComp = null; Grade highest = mergedGrades.get(0); int index = 0; for (int j = 0; j < mergedGrades.size(); j++) {

此代码试图将等级从最高到最低排序

我的代码:

public static Grades sort(Grades mergedGrades, Grades repeat) {
Grades sortedGrades = new Grades();
Grade highComp = null;
Grade highest = mergedGrades.get(0);
int index = 0;
for (int j = 0; j < mergedGrades.size(); j++) {
     highComp = mergedGrades.get(j);
     if (highComp.getGpa() > highest.getGpa()) {
         highest = highComp;
         //debug: System.out.println("getGpa: "+highest.getGpa());
         index = j;
     }
}
sortedGrades.add(highest);
mergedGrades.remove(index);
公共静态等级排序(等级合并等级,等级重复){
等级分类等级=新等级();
等级highComp=null;
最高等级=合并等级。获取(0);
int指数=0;
对于(int j=0;jhighComp.getGpa()){
最高=高补偿;
//调试:System.out.println(“getGpa:+highest.getGpa());
指数=j;
}
}
sortedGrades.add(最高);
合并等级。删除(索引);
每次找到一个最高值,它都会添加到sortedGrades对象,并删除 用索引评分。但是,我不知道如何使它循环直到它为空。请教训我。谢谢

教授班:

public int size() {
    return this.size;
}

public boolean contains(Grade grade) {

    for(int i = 0; i < this.size; i++) {
        if(this.gradeArray[i].equals(grade)) {
            return true ;
        }
    }
    return false;
}
public int size(){
返回此.size;
}
公共布尔包含(等级){
for(int i=0;i
如果要使用while循环,可以使用:

while(mergedGrades.size() > 0)
也可以使用嵌套的for循环:

int initialMergedGradesLength = mergedGrades.size()
for(int i = 0; i < initialMergedGradesLength; i++)
for(Grade mergedGrade : mergedGrades)
虽然我不确定最后一个是否会编译。

根据此类:

public int size() {
    return this.size;
}

public boolean contains(Grade grade) {
    for(int i = 0; i < this.size; i++) {
        if(this.gradeArray[i].equals(grade)) {
            return true ;
        }
    }
    return false;
}

而(!sortedGrades.isEmpty()){…}
不幸的是,这个类没有包含.isEmpty()这似乎是一种低效的排序算法。如果你可以把它们全部放入一个列表中,你可以直接排序。是的,这是一个基本的java课程。我的教授希望我们有更好的基础。这就是他为什么要我们这样做的原因。<代码>((SooDealStsix.siz())0){…} < /Cord>
public static Grades sort(Grades mergedGrades, Grades repeat) {
    Grades sortedGrades = new Grades();
    Grade highComp = null;
    Grade highest = mergedGrades.get(0);
    int index = 0;

    while (mergedGrades.size() > 0) {        
        for (int j = 0; j < mergedGrades.size(); j++) {
            highComp = mergedGrades.get(j);
            if (highComp.getGpa() > highest.getGpa()) {
                highest = highComp;
                //debug: System.out.println("getGpa: "+highest.getGpa());
                index = j;
            }
         }
         sortedGrades.add(highest);
         mergedGrades.remove(index);
     }
}