Я попробован делать минипрограмму, которая упорядочивает числа восходящей формы. Кто-то объясняет мне, потому что мне дает ошибку код?. Спасибо.
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] + ",");
}
}
}
Твоя ошибка известна в качестве ГОБОЙ инициалам в 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]) {
, если n 10, а именно, если у договоренности может быть 10 элементов, как считается с Г-ndice 0, mГЎximo Г-ndice, что у тебя может быть, 9, а следовательно arreglo[n]
невозможно, что он существует и allГ - что ты одного ArrayIndexOutOfBoundsException
а именно, переведенный он говорит "excepciГіn Г-ndice договоренности вне их lГ-mites"