Вне границы ошибка в цикле - PullRequest
0 голосов
/ 04 ноября 2011
public static void bubbleSort(Farm a[], int n) {
String[] animals = getString(a);

for(int i = 0; i < n - 1; i++)  {

  boolean swapped = false;
  for(int j = 0; j < n - 1 - i; j++) {

    int c = animals[j].compareTo(animals[j+1]);
    if(c > 0) {
      swap(animals, j, j+1);
      swapped = true;
    }
  }
  if(!swapped) 
    break;
}
for (int i = 0; i < a.length; i++)
  if(a[i] != null)
  System.out.println(a[i].animal);

}

в int c = животные [j] .compareTo (животные [j + 1]); по какой-то причине он выдает мне ошибку «за пределами границ»

1 Ответ

1 голос
/ 04 ноября 2011

Вроде как n >= animals.length

Снова проверьте граничные значения в циклах for

...