Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] duda Hastable

Estas en el tema de duda Hastable en el foro de Java en Foros del Web. Hola a tod@s, estoy en un ciclo de grado superior de informática y nos han pedido un ejercicio en el cual tenemos que introducir una ...
  #1 (permalink)  
Antiguo 09/04/2014, 05:34
Avatar de alejandcc  
Fecha de Ingreso: diciembre-2011
Ubicación: Plasencia
Mensajes: 54
Antigüedad: 12 años, 4 meses
Puntos: 1
duda Hastable

Hola a tod@s, estoy en un ciclo de grado superior de informática y nos han pedido un ejercicio en el cual tenemos que introducir una frase y contar las letras, es decir, si introducimos "holaaa", la salida seria:

h 1
o 1
l 1
a 3

El caso es que tenemos que usar la clase Hastable para hacerlo y me estoy liando.
Alguien sabria como hacer este ejercicio??
Esto de aqui abajo es algo que ya he implementado:

public static void main(String[] args) {
// TODO code application logic here
int contador=0;
Hashtable<Character, Integer> tabla = new Hashtable<Character, Integer ();
Scanner entrada = new Scanner(System.in);
System.out.println("introduce un texto");
String texto=entrada.nextLine();


Enumeration<Integer> enume =tabla.elements();
Enumeration<Character> enumeClaves = tabla.keys();

//meto los caracteres en la tabla y le asigno contador 1
for(int i=0;i<texto.length();i++){
tabla.put(texto.charAt(i), 1);
}
  #2 (permalink)  
Antiguo 09/04/2014, 05:54
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: duda Hastable

Dentro del for, en vez de siempre uno, tendrías que hacer algo así ()

Código Java:
Ver original
  1. for (....) {
  2.     // ves si ya existe
  3.     Integer numeroVeces = tabla.get(texto.charAt(i));
  4.  
  5.     // si no existe, pones 1
  6.     if (null==numeroVeces) {
  7.          tabla.put(texto.charAt(i), 1);
  8.     } else {
  9.          // si existe, sumas 1
  10.          tabla.put(texto.charAt(i), numeroVeces + 1);
  11.     }
  12. }

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 09/04/2014, 06:12
Avatar de alejandcc  
Fecha de Ingreso: diciembre-2011
Ubicación: Plasencia
Mensajes: 54
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: duda Hastable

Gracias , por la ayuda, pero como mostraria los datos de las hashtable
  #4 (permalink)  
Antiguo 09/04/2014, 15:26
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: duda Hastable

Con esto que tenías puesto antes

Enumeration<Character> enumeClaves = tabla.keys();


ya tienes las claves en el hastable (los caracteres). Mira en google como recorrer una Enumeration y solo tienes que sacar por pantalla cada clave (el caracter) y el numero contenido dentro dle Hashtable para cada clave. (tabla.get(key))

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 09/04/2014, 15:40
Avatar de alejandcc  
Fecha de Ingreso: diciembre-2011
Ubicación: Plasencia
Mensajes: 54
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: duda Hastable

Gracias por la ayuda.

Etiquetas: clase, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:35.