Saludos.
Exception in thread "Thread-0" java.lang.NullPointerException
at ordenamientos.Bubble.bubble_sort(Bubble.java:52)
at ordenamientos.Bubble.run(Bubble.java:38)
at java.lang.Thread.run(Thread.java:724)
Este es el codigo de mi programa.
package ordenamientos;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class Bubble implements Runnable
{
Thread t;
public int [] matrix;
final void setMatriz(int matriz[])
{
matrix = matriz;
}
int[] getMatriz()
{
return matrix;
}
public Bubble()
{
}
public Bubble(int matriz[])
{
matrix = matriz;
}
public void run()
{
System.out.println("Aqui deberia estar corriendo el ordenamiento burbuja :/");
bubble_sort(getMatriz());
}
public void bubble_sort(int matriz[])
{
long comienza = System.currentTimeMillis();
int buffer;
int i,j;
for(i = 0; i < 25000; i++)
{
for(j = 0; j < i; j++)
{
if(matriz < matriz [j])
{
buffer = matriz[j];
matriz[j] = matriz;
matriz = buffer;
}
}
}
for(int x = 0; x < matriz.length; x++)
{
System.out.println("Numeros: " + matriz
- );
long termina = System.currentTimeMillis();
long tiempoTranscurrido = termina - comienza;
System.out.println("\n\nTiempo transcurrido con el metodo de ordenamiento Burbuja: " + tiempoTranscurrido + " milisegundos");
try
{
File TextFile = new File("/home/norochii/workspace/Ordenamientos/Tiempos.odt");
FileWriter TextOut = new FileWriter(TextFile, true);
TextOut.write ("Ordenamiento Burbuja: "+tiempoTranscurrido + " Milisegundos"+"\r\n");
TextOut.close();
}
catch(IOException e)
{
System.out.println("Error!!");
}
}
}
package ordenamientos;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import java.util.Random;
import ordenamientos.Bubble;
public class Principal
{
public static void main(String[] args)
{
int [] arreglo;
arreglo = new int [25000];
Shell shell = new Shell();
Bubble burbuja = new Bubble();
Insercion insercion = new Insercion();
@SuppressWarnings("resource")
Scanner entrada = new Scanner(System.in);
Random numero_aleatorio = new Random();
if(burbuja.matrix == shell.matrix && burbuja.matrix == insercion.matrix )
{
if(shell.matrix == burbuja.matrix && shell.matrix == insercion.matrix)
{
if(insercion.matrix == burbuja.matrix && insercion.matrix == shell.matrix)
{
System.out.println("Datos: " );
for(int x = 0; x<arreglo.length; x++)
{
int valor;
valor = numero_aleatorio.nextInt(250000);
arreglo
- = valor;
try
{
File TextFile = new File("/home/norochii/workspace/Ordenamientos/Numeros sin Ordenar.odt");
FileWriter TextOut = new FileWriter(TextFile, true);
TextOut.write (valor +"\r\n");
TextOut.close();
}
catch(IOException e)
{
System.out.println("Error!!");
}
}
System.out.println("\n\nGeneracion de numeros aleatorios lista.");
System.out.print("Presiona cualquier tecla para continuar: ");
entrada.nextLine();
System.out.println("\n\n\n\n");
System.out.println("Ordenamiento Shell: ");
System.out.println("\n\n\n\n\n\n");
shell.shell_sort(arreglo);
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("\n\n\n\n");
System.out.println("Ordenamiento Burbuja: ");
System.out.println("\n\n\n\n\n\n");
//burbuja.bubble_sort(arreglo);
Thread hilo = new Thread(burbuja);
hilo.start();
//new Thread(burbuja).start();
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Ordenamiento Insercion: ");
insercion.insercion_sort(arreglo);
System.out.println("\n\n\n\n\n\n");
}
}
}
}
}