HOla amigos estoy tratando de ordenar un archivo plano que tiene n posiciones con el método de ordenamiento burbuja. Lo que hago es extraer los datos del archivo, capturarlos todos en un arreglo que lo llame x[j] y pues teniedo este arreglo se supone que debo ordenarlo con el metodo y generar un archivo de salida con los datos ordenados. Pero me sale el siguiente error. Si alguien me puede colaborar enlo que estoy haciendo mal le agradeceria mucho.
Código:
import java.io.*;
import java.util.ArrayList;
class PruebaPrecio{
public static void main(String [] arg) {
int aux;
File archivo = null;
FileReader fr = null;
ArrayList<String> lineas = new ArrayList<String>();
try {
archivo = new File ("C:/Users/Nando Cruz/Desktop/Sin ordenar1/prueba_ent.txt");
FileWriter fw = new FileWriter("C:/Users/Nando Cruz/Desktop/Ordenados/prueba_sal.txt");
BufferedWriter bw = new BufferedWriter(fw);
String linea;
fr = new FileReader (archivo);
BufferedReader br = new BufferedReader(fr);
while((linea=br.readLine())!=null)
{
lineas.add(linea);
}
for (int j = 0 ; j < lineas.size() ; j++)
{
linea = lineas.get(j);
int[] x = new int[lineas.size()];
x[j] = Integer.parseInt(linea);
//System.out.print (x[j]+"\n");
for (int i=0; i<x.length;i++)
{
for (int k=0; k<x.length-1;k++)
{
if (x[j]>x[j+1])
{
aux=x[j];
x[j]=x[j+1];
x[j+1]=aux;
}
}
}
bw.write(String.valueOf(x[j]));
bw.newLine();
}//cierra for principal
}
//FIN DEL TRY
catch(IOException e){
System.out.println(e);
}
System.exit(0);}
}
Este es el error que me sale:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at PruebaPrecio.main(PruebaPrecio.java:36)