Я пытался создать программу сортировки массивов в Java. Поэтому я создал этот метод и попытался выполнить его, вызвав его из другой функции. Но я получаю это «ArrayIndexOutOfBoundsException 8» исключение времени выполнения. Так как я могу это исправить?ArrayIndexOutOfBoundsException 8 исключение времени выполнения в моем сортировочном коде массива
class arrayfunc {
int[] ascend(int[] p) {
int x = p.length;
for (int i = 0; i <= (x - 1); i++) {
int l = p[i];
for (int j = i + 1; j <= x; j++) {
int f = p[j];
if (f > l) {
int k = p[i];
p[i] = p[j];
p[j] = k;
}
}
}
return p;
}
}
Можете ли вы, пожалуйста, правильно откорректировать свой код, назовите свою переменную лучше, чем i, j и p ... ArrayIndexOutOfBoundsException - исключение, говорящее о том, что вы пытаетесь получить доступ к таблице из своего лимита (например, вкладка [10] для массив из 10 элементов). Пожалуйста, проверьте состояние цикла – fabballe
, можете ли вы указать, как вы вызываете метод, и образец ввода? я не получаю outOfBound, несмотря на то, что он игнорирует первое число. – SomeJavaGuy
это пузырь сортировка. Он не должен разбиваться. Каждый индекс находится между 0 и длиной-1. Я думаю, что это снаружи. –