hacer un programa que cuente cuantos caracteres hay en una palabra(1 sola vez)?

Iniciado por Starkdkcr, 26 Febrero 2013, 01:58 AM

0 Miembros y 1 Visitante están viendo este tema.

Starkdkcr

Bueno tiene que decirme algo asi si es Casa
c 1 vez
a 2 vezs
s 1 vz

llEVO ALGO PERO ME IMPRIME MAS DE UNA VES EL CARACTER ALGUNA IDEA DE QUE HACER

public static void main(String[] args) {
char com ,
int uno = 0 , contador ;
String texto = "la satania";


while (uno < texto.length()){

com = texto.charAt(uno);
contador =0;

for (int i = 0; i < texto.length(); i++) {
if (com == texto.charAt(i)) {
contador ++;

}

}//fin for

System.out.println(" El caracter " + com + " aparece " + contador + " vecs");

uno++;
}//while
}//main
}//fin Char

xD

1mpuls0

Algo sencillo que se me ocurre por ahora es la creacion de dos vectores en el primer vector guardas el caracter y en el segundo vector guardas la cantidad de veces (con sus índices respectivos) :P

String palabra = "casa"
Char caracteres[] = new char[tamano];
int cantidad[]=new int[tamano];

Al final tendrías algo así.
caracteres = [ c ][ a ][ s ]
cantidad = [1][2][1]

Saludos.
abc

leogtz

Se resuelve con un array de la siguiente manera:

int []ocurrencias = new int['z' - 'a'];
        String str = "computadora";
       
        for(char c : str.toCharArray()) {
            ocurrencias[c - 'a']++;
        }



Ya solo es cuestión de iterar el array de ocurrencias.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com