【问题标题】:'The left hand side of an assignment must be a variable' : Bubble Sort - JAVA OOP'赋值的左侧必须是变量':冒泡排序 - JAVA OOP
【发布时间】:2018-05-22 05:41:46
【问题描述】:

我有这个函数,它运行一个冒泡排序算法来对另一个类中创建的 LinkedList 进行排序。

for(int k=0; k < n; k++){  
                for(int j=1; j < (n-i); j++){  
                         if(loopObj.loopedGradeReq(j-1) > loopObj.loopedGradeReq(j)){  
                                //swap elements  
                                temp = loopObj.loopedGradeReq(j-1);  
                                loopObj.getGradeReq().get(j-1) = loopObj.getGradeReq().get(j);
                                arr[j-1] = arr[j];  
                                loopObj.getGradeReq().get(j) = temp;  
                        }  

                }  
        }  

但是,我不断收到一个

'参数的左边必须是变量'

每当我到达这一行时出错:

 loopObj.getGradeReq().get(j-1) = loopObj.getGradeReq().get(j);

我能做什么?提前致谢!

【问题讨论】:

    标签: java oop variables variable-assignment bubble-sort


    【解决方案1】:

    赋值两边都返回一个值,也就是说你在调用loopObj.getGradeReq()返回的GradeReq的get()函数。您不能分配给函数 (get()) 返回的值,而是用它做一些事情。没有看到接口,就没有足够的信息来完全回答这个问题,但解决方案可能看起来更像......

    loopObj.getGradeReq().set(j-1, loopObj.getGradeReq().get(j));
    

    假设在 GradeReq 类中有一个名为 set(index, object) 的方法。

    【讨论】:

    • 有道理!谢谢,我试试看!
    猜你喜欢
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多