Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: Starkdkcr en 26 Febrero 2013, 01:58 AM

Título: hacer un programa que cuente cuantos caracteres hay en una palabra(1 sola vez)?
Publicado por: Starkdkcr en 26 Febrero 2013, 01:58 AM
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
Título: Re: hacer un programa que cuente cuantos caracteres hay en una palabra(1 sola vez)?
Publicado por: 1mpuls0 en 26 Febrero 2013, 16:50 PM
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.
Título: Re: hacer un programa que cuente cuantos caracteres hay en una palabra(1 sola vez)?
Publicado por: leogtz en 2 Marzo 2013, 03:15 AM
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.