Hola buenas noches espero me puedan ayudar a compilar el siguiente código en java
es sobre búsqueda hash lo que pasa es que me pasaron el código pero tenia errores trate de corregirlos y ya no marca errores pero no muestra nada en pantalla (simplemente no hace nada) pero debería hacer algo ....bueno aquí les dejo el código espero me puedan ayudar
public class Hash {
//Atributo
Object [] th;
//Constructor
public Hash(int n){ th=new Object[n];
for(int i=0; i<th.length;th[i]=null); //******************
}
//Métodos
public void creaTabla(Object[]a, int nmax){ int pos;
for(int i=0; i<a.length;i++){ //***********
//Genera la posición del elemento a insertar
//Haciendo uso de una función hash
pos=a[i].hashCode()%nmax;
System.out.println("Elemento :"+a[i]+ " pos = " + pos);
//cuando la función devuelve un valor negativo
if(pos<0){ pos*=-1; } if(th[pos]==null){
//Inserta en la tabla sin colisión
th[pos]=a[i];
}else{
while(th[pos]!=null){ pos++; if(pos==th.length){ pos=0; }
}
//Inserta el valor en la tabla hash despues de una colicion
th[pos]=a[i];
}
}
presenta("TABLA HASH",th);
}
public void buscarHash(Object elemb, int nmax){
int e=elemb.hashCode();
if(e<0){ e*=-1; }
int pos=e%nmax;
if(th[pos]==null){
System.out.print("Elemento no encontrado"); }else{
if(th[pos].equals(elemb)){
System.out.print("Elemento encontrado, "+elemb+ " su posicion es : "+ pos); }else{ int j=pos+1; if(j==th.length){
j=0; }
while((th[j]!=elemb)&&(th[j]!=null)&&(j!=pos)){
j++;
if(j>=th.length-1){ j=0;
}
}
if(th[j].equals(elemb)){
System.out.print("Elemento encontrado, "+elemb+ " su posicion es : "+ j); }else{
System.out.print("Elemento no encontrado");
}
}
}
}
public void presenta(String msg,Object a[]){
System.out.print(msg+" [");
for(int i=0; i<=a.length-1;i++){ if(i<a.length-1){ //**********************
System.out.print(a[i]+","); }else{
System.out.print(a[i]+"]");
}
}
System.out.print("\n");
}
public static void main(String args[]){
Object l[]= {12,45,76,34,90,45,56,78};
Hash bh=new Hash(l.length*2);
bh.presenta("Elementos a insertar en la Tabla Hash",l);
bh.creaTabla(l,l.length);
bh.buscarHash(34,l.length);
}
}