Почему случается java.lang. ArrayIndexOutOfBoundsException?

Я попробован делать минипрограмму, которая упорядочивает числа восходящей формы. Кто-то объясняет мне, потому что мне дает ошибку код?. Спасибо.

package ejerciciosJava;

import java.util.Scanner;

public class OrdenarNúmeros {

    public static void main(String args[]) {
        int contador = 0, num, a = 0, i, j;
        int[] numeros = new int[5];

        Scanner teclado = new Scanner(System.in);

        do{
            System.out.println("Introduzca valores (0 para finalizar): ");
            num = teclado.nextInt();

            if (num != 0) {
                numeros[contador] = num;
                contador++;
            }
        }while (num != 0);

        for (i = 0; numeros.length > i; i++) {
            for (j = 0; numeros.length > j; j++) {
                if (numeros[j] < numeros[j + 1]) { //JUSTO AQUÍ ME DA EL ERROR!!
                    a = numeros[j];
                    numeros[j] = numeros[j + 1];
                    numeros[j+ 1] = a;
                }
            }
        }

        for (i = 0; i < numeros.length; i++) {
            System.out.print(numeros[i] + ",");
        }
    }
}
0
задан 20.03.2019, 00:44
1 ответ

Твоя ошибка известна в качестве ГОБОЙ инициалам в inglГ©s Офф Би One , а именно, что estГЎs посылая неправильную стоимость за единицу.

В твоем случае, estГЎs говоря в ней condiciГіn, что tamañoDelArreglo > indice, что является одной condificГіn правильная, но прибыв в нее condiciГіn

if (arreglo[indice] < arreglo[indice + 1]) {

tamaГ±o договоренности - n типов места, и tamaГ±o indice в Гєltima iteraciГіn n-1 convirtiГ©ndose в

if (arreglo[n-1] < arreglo[n-1+ 1]) {

, который упрощается в

if (arreglo[n-1] < arreglo[n]) {

tamaño

, если n 10, а именно, если у договоренности может быть 10 элементов, как считается с Г-ndice 0, mГЎximo Г-ndice, что у тебя может быть, 9, а следовательно arreglo[n] невозможно, что он существует и allГ - что ты одного ArrayIndexOutOfBoundsException а именно, переведенный он говорит "excepciГіn Г-ndice договоренности вне их lГ-mites"

2
ответ дан 02.12.2019, 05:24
  • 1
    он следует за мной, не функционируя, дает мне ту же ошибку:/. – x140l1n 20.03.2019, 00:32
  • 2
    в вопросе querí схвати знание в qué debí в ошибку, когда бы то ни было ты dí solució n из-за простого факта, которого ты не попросил ее – Ruslan López 20.03.2019, 00:43
  • 3
    Если ты бросаешь мне руку, ты это много agredeceria, :). Я очень линовался, потому что он не вытекает. – x140l1n 20.03.2019, 00:45
  • 4
    @x140l1n возможно deberí схвати задавания другого вопроса для знания, как он решен, и не только из-за qué происходи – Ruslan López 20.03.2019, 00:47