Netbeans - Ayuda error de arreglo java NetBeans

   
Vista:
Imágen de perfil de Jesús

Ayuda error de arreglo java NetBeans

Publicado por Jesús (1 intervención) el 03/12/2016 02:14:01
Hola, soy nuevo en el foro, espero poder contribuir con lo poco que se y espero puedan aclarar las dudas que llegue a tener, o auxiliarme para aprender más. Muchas gracias

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.


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.




primera-prueba
prueba2



esta es la parte del codigo del boton :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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: ");
 
       //desde aqui va todo bien
 
        int aux;
        boolean cambios = false;
 
        while(true)
        {
            cambios = false;
            for(int i = 1; i < arreglo[i];i++)
            {
                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();
 
    }


espeo me puedan ayudar, se los agradezco,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda error de arreglo java NetBeans

Publicado por crsitian (4 intervenciones) el 19/02/2017 17:45:01
Aqui te dejo el codigo y por cierto el metodo que tu estas usando es el burbuja no el quicksort

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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: ");
 
//desde aqui va todo bien
 
int temp;
 
for (int i = 0; i < arreglo.length; i++) {
   for (int j = i+1; j < arreglo.length; j++) {
       if (arreglo[j]<arreglo[i]) {
            temp=arreglo[i];
           arreglo[i]=arreglo[j];
           arreglo[j]=temp;
       }
 
   }
 
}
 
 
for(int i = 0; i < arreglo.length; i++)
{
    System.out.print("|" + arreglo[i]);
}
 
 
System.out.println(" ");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar