Java - ayuda programacion java

   
Vista:

ayuda programacion java

Publicado por fran (2 intervenciones) el 24/02/2014 16:00:28
hola buenas tardes estoi iniciando en la programacion de java y lo que quiero realizar es lo siguiente un programa que el usuario escriba una cadena de caracteres i muestre por pantalla cual es el que se repite mas veces consecutivamente ejemplo cadena que escribe el usuario "hhjjiiiaaaaatttkkkkkkkk" eso es lo que ha escrito tendria que decirme el caracter que mas se repite mas veces consecutivamente en la cadena "hhjjiiiaaaaatttkkkkkkkk" es el caracter k

si se repiten dos letras con el mismo numero de repeticiones tiene q salir la de menor rango en el codigo ascci.

gracias espero vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ayuda programacion java

Publicado por UnoPorAhi (128 intervenciones) el 25/02/2014 09:17:13
En que te podemos ayudar? En que estas atascado?

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda programacion java

Publicado por fran (2 intervenciones) el 25/02/2014 15:21:18
estoi atascado a la ora de comparar letra a letra si es igual

lo q tengo ahora es la introduccion del programa con la pregunta que escriba un texto i despes lo guardo en un string
pero lo que no me sale es a la ora de ir comparando letra letra si es igual

tengo en la cabeza dos for para ir comparando la primera letra con la seguna si son iguales tiene q mirar la 3 i asin asta terminar i saber que letra se repite mas consecutivamente estoi atascado a la ora de comparar las letras?

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda programacion java

Publicado por UnoPorAhi (128 intervenciones) el 25/02/2014 16:42:35
Ok, aqui tienes una solucion:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
String palabra = "hhjjiiiaaaaatttkkkkkkkk";
        char[] letras = palabra.toCharArray();
        int maxRepeticion = 0;
        int contador = 0;
        char letraMasRepetida = '\0';
        char ultimaLetra = letras[0];
 
        for (int i = 0; i < letras.length; i++) {
            if (letras[i] == ultimaLetra)
                contador++;
            else
                contador = 0;
 
           if (contador >= maxRepeticion) {
                // En caso de igualdad, escogemos la de menor valor ASCII
                if (contador == maxRepeticion)
                    letraMasRepetida = (letraMasRepetida < letras[i]) ? letraMasRepetida : letras[i];
                else
                    letraMasRepetida = letras[i];
 
                maxRepeticion = contador;
            }
 
            ultimaLetra = letras[i];
        }
        System.out.println("Letra mas repetida: " + letraMasRepetida);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar