Foro de elhacker.net

Programación => 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
Código:
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:

Código:
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.