2014-10-10 10 views
0

Вот мой код. Я получаю несовместимый тип в первом для утверждения. Обязательное: boolean Найдено: 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

Wow спасибо вам правильны. Я просто не думал о том, что на самом деле должно происходить там, и просто скопировано из моих заметок. Урок выучен! – Griff112

0

Ошибка ясно заявляет, что он требует логического типа, но нашел Int.

list.length -1; 

не возвращает никаких логических значений, он просто возвращает целое число. Вы тоже знаете это для синтаксиса (; condition;). Каждое условие будет определять только на основе логических значений.

Вы должны изменить его

i < list.length -1; 
Смежные вопросы