La verdad estoy aprendiendo a programar en java, así que espero no se molesten.
Estoy realizando una interfaz gráfica, que me permita ordenar una cantidad de números al azar mediante 3 métodos diferentes, los botones capturaran el número de elementos aleatorios, introduje el método dentro de ese mismo botón, para que ordene todos los números.
en la primera imagen todo corre bien cuando me da los numeros aleatorios.
pero me marca un error, no se que sea, pues no se mucho sobre java (prácticamente no se nada, pero quiero aprender),
les dejo el código del boton, al principio funcionaba bien, pero después simplemente ya no corre, el error me marca la línea que dejo en la segunda imagen.
Código:
private void BurbujaActionPerformed(java.awt.event.ActionEvent evt) {
int x = Integer.parseInt(JOptionPane.showInputDialog(null, "introduzca un número de elementos a ordenar", "Quicksort", JOptionPane.INFORMATION_MESSAGE));
System.out.println("El valor ingresado es: " + x);
int[] arreglo= new int[x];
for (int i = 0; i < x; i++)
{
arreglo[i]= (int) (Math.random()*100+1);
}
for (int i = 0; i < x; i++)
{
System.out.print("|"+arreglo[i]);
}
System.out.println("");
System.out.println("los numeros arreglados son: ");
//antes de esto todo esta bien
int aux;
boolean cambios = false;
while(true)
{
cambios = false;
for(int i = 1; i < arreglo[i];i++) //aqui es el primer error
{
if(arreglo[i]<arreglo[i-1])
{
aux = arreglo[i];
arreglo[i] = arreglo[i-1];
arreglo[i-1] = aux;
cambios = true;
}
}
if(cambios==false)
{
break;
}
}
for(int i = 0; i < arreglo[i]; i++)
{
System.out.print("|" + arreglo[i]);
}
System.out.println();
}
espero me puedan ayudar, y espero no infringir alguna norma de la comunidad
MOD:Imagenes adaptadas a lo permitido.