0
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 = animal[j].compareTo(animals[j+1]); 何らかの理由で範囲外エラーが発生しています

4

1 に答える 1

1

のようですn >= animals.length

forループ内の境界値を再度確認してください

于 2011-11-04T05:57:35.583 に答える