Que tal , soy nuevo en esto de java y tengo este problema con un codigo que lo que hace es pedir la cantidad de valores dentro de un vector, luego ingresas los valores, y al final te deberia salir ordenados los valores dentro del vector, tengo este error al ejecutar y no se cual es el problema
Les dejo el codigo:
package menor;
import java.util.Arrays;
import java.util.Scanner;
public class Menor {
int n=0;
private int[] numeros;
private Scanner teclado;
public void cargar() {
int length = 0;
teclado=new Scanner(System.in);
System.out.print ("El tamaño de la Serie: ");
length = Integer.parseInt(teclado.nextLine());
numeros=new int[length];
long[] numeros = new long[length];
for(int f=0;f<numeros.length;f++) {
System.out.print("Ingrese el sueldo:");
numeros[f]=teclado.nextInt();
}
}
public void ordenar() {
for(int k=0;k<4;k++) {
for(int f=0;f<4-k;f++) {
48 if (numeros[f]>numeros[f+1]) {
int aux;
aux=numeros[f];
numeros[f]=numeros[f+1];
numeros[f+1]=aux;
}
}
}}
public void imprimir() {
System.out.println("ordenados de menor a mayor.");
for(int f=0;f<numeros.length;f++) {
System.out.println(numeros[f]);
System.out.print(Arrays.toString(numeros));
}
}
public static void main(String[] args) {
Menor pv=new Menor();
pv.cargar();
68 pv.ordenar();
pv.imprimir();
}}
Y ahora el Error
run:
El tamaño de la Serie: 3
Ingrese el sueldo:5
Ingrese el sueldo:9
Ingrese el sueldo:8
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at menor.Menor.ordenar(Menor.java:48)
at menor.Menor.main(Menor.java:68)
Java Result: 1
Las lineas a las que se refiere las señalo arriba.
Si me pudieran ayudar se los agradeceria