Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/07/2015, 15:23
zucho2007
 
Fecha de Ingreso: julio-2015
Mensajes: 2
Antigüedad: 8 años, 10 meses
Puntos: 0
Busqueda Problema ejecucion de programa de ordenamiento

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