Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/08/2012, 23:33
Avatar de zero0097
zero0097
 
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 14 años, 9 meses
Puntos: 69
Respuesta: buscar en un hastable

ese codigo que pusiste o lo copiaste mal, o tiene error, fijate que la signatura de tu método es:
public BuscarCoche(String Matricula)

y dentro de el metodo tienes un return tabla.get(Matricula);

Si tu metodo en la firma dice que no tiene valor de retorno por que haces un return.....

En fin, cuado tu creas un Hashtable, o un HashMap, existe una cualidad de java llamada Generics, al crear un Hash es reocmendable usar generics para indicar de que tipo de dato seran las keys y de que tipo de dato seran los valores, hasta ahora no has mencionado si Matricula es String o es long, o es otro tipo de dato (Objeto)....

Te voy a escribir un sencillo ejemplo de como recuperararía yo...

Código Java:
Ver original
  1. //Se crea el Hashtable usando Generics
  2. //El primer String se refiere a que las Key serán de tipo String
  3. //El segundo String se refiere a que los Values serán de tipo String
  4. Hashtable<String, String> ht = new Hashtable<String, String>();
  5.        
  6. //le meto unos cuantos valores
  7. ht.put("XTV-0456", "Aston Martin Color verde mayate");
  8. ht.put("IM-8ATM4N", "Lamborghini Gallardo Amarillo 'jodeme la vista' ");
  9. ht.put("5010-SOLO", "Porche Carrera GT Rojo Passion");
  10.    
  11. //supngamos que me dan una matricula
  12. String matricula = "5010-SOLO";
  13. //la busco
  14. if(ht.containsKey(matricula))
  15.     System.out.println(ht.get(matricula));
  16.        
  17. //la salida del programa es: Porche Carrera GT Rojo Passion

En un metodo pues se aplica la misma logica solo que en la firma del metodo debes especificar que tipo de dato vas a regresar:

Código Java:
Ver original
  1. public String obtenerDescripcion(String matricula) {
  2.     if(miHashTable.containsKey(matricula))
  3.         return miHashTable.get(matricula);
  4.     else
  5.         return "No existe ese coche!";
  6. }

Si usas el metodo el hashTable debe ser global o lo debes pasar como parametro, claro....

PD: de ultimas me gustaria comentar que hay convenciones de Java, donde los nombres de los metodos inican con minuscula, donde las variables se escriben en minuscula por completo, en tu codigo no sigues ninguna de estas, pero baah son convenciones solamente te las digo por si quieres hacerte un duro en Java siempre hay una manera correcta de hacer las cosas
__________________
De nada, hay te encargo +1...

Última edición por zero0097; 13/08/2012 a las 23:57