Cuando tienes la instancia de la clase String puedes usar el metodo toUpperCase() que retorna el String en mayusculas, para contar las palabras por espacios puedes usar el metodo split de la clase String asi:
Lees la frase completa. Le aplicas toUpperCase(), la separas por espacios y entonces recorres el array que te devuelve la función split(). Te creas un mapa, tendrás clave Strings y valores enteros, osea, int. Entonces cuando empiezas a recorrer el array que habías dividido al principio por espacios, si la palabra que tienes en la posición i no está contenido en el mapa entonces añades al mapa esa entrada, si por el contrario está incrementas en una unidad el valor.
Cuando has recorrido todo el array entonces recorres el mapa y muestras por cada clave su valor.
Sería una posible solución pero como poder puedes hacerlo de mil formas.
hey amigo valkyrr aque te refieres en crear un mapa... no entendiii... jejeje
Se refiere a ir instanciando todos los valores, en tu caso, palabras en un vector, array, hasmap, dictionary.... Para luego poder entregarlo, contarlo o tratar el resultado.
public String concatenar(String palabras){ palabras=contarPalabras2(palabras); StringTokenizer adaptador= new StringTokenizer(palabras); ArrayList<String> arreglo= new ArrayList<String>(); ArrayList<String> copia= new ArrayList<String>(); String respuesta=" ";