2014-10-10 34 views
0

這是我的代碼到目前爲止。我在第一個語句中獲得不兼容的類型。 必需:布爾值 找到:int選擇排序方法錯誤,不兼容的類型

不太清楚我需要做什麼來解決這個問題。

public void selectionSort(int[] list){ 
    //implement selection sort here. 
    for (int i = 0;list.length -1;i++){ 
     int smvi = i; 
     for(int j = i+1;j<list.length;j++){ 
      if(list[j] < list[smvi]){ 
       smvi=j;} 
      if(i!=smvi){ 
       int temp = list[i]; 
       list[i] = list[smvi]; 
       list[smvi] = temp; 
      } 
     } 
    } 
} 

回答

5

的問題是在這裏:list.length -1

我想你想要的是i <= list.length - 1

+0

哇感謝你是正確的。我只是沒有想到實際上應該發生的事情,只是從我的筆記中複製。學過的知識! – Griff112 2014-10-10 23:46:10

0

的錯誤明確指出,它需要布爾類型,但發現INT。

list.length -1; 

不會返回任何布爾值,它只是返回一個整數。你也知道這個(; condition;)的語法。每個條件只會根據布爾值來決定。

您應將其更改爲

i < list.length -1;