2017-12-08 32 views
0

私はバブルソートアルゴリズムを実行して別のクラスで作成されたLinkedListをソートするこの関数を持っています。'代入の左辺は変数でなければなりません':バブルソート - JAVA OOP

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); 

どうすればよいですか?前もって感謝します!

答えて

0

割り当ての両側で値を返します。つまり、loopObj.getGradeReq()が返すGradeReqのget()関数を呼び出しています。関数(get())から返された値に代入することはできません。むしろ何らかの処理を行います。インターフェースを見ることなく

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

がGradeReqクラスのメソッドと呼ばれるセット(インデックス、オブジェクトが)があったと仮定...そこに完全にこれに答えるために十分な情報はありませんが、解決策は、より多くのようになります。

+0

これは意味があります。ありがとう、私はそれを試してみましょう! – mikeb00

関連する問題