Java - escriba una cadena de caracteres y muestre cuales caracteres se repite mas veces consecutivamente

 
Vista:

escriba una cadena de caracteres y muestre cuales caracteres se repite mas veces consecutivamente

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
sin imagen de perfil

escriba una cadena de caracteres y muestre cuales caracteres se repite mas veces consecutivamente

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

escriba una cadena de caracteres y muestre cuales caracteres se repite mas veces consecutivamente

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
sin imagen de perfil

escriba una cadena de caracteres y muestre cuales caracteres se repite mas veces consecutivamente

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

escriba una cadena de caracteres y muestre cuales caracteres se repite mas veces consecutivamente

Publicado por Jhois (1 intervención) el 24/11/2022 05:06:35
Hola, y en caso de que si se repiten dos letras o más con el mismo número de repeticiones y yo deseo imprimir todas esas letras que puedo hacer?
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

escriba una cadena de caracteres y muestre cuales caracteres se repite mas veces consecutivamente

Publicado por alba (1 intervención) el 16/02/2018 02:53:12
Cree una clase llamada persona que contenga dos atributos privados (nombre y Dirección), añada un constructor con parámetros y los métodos para establecer y obtener los atributos (gets y sets). Después cree una clase derivada estudiante que contenga los atributos Escuela y grado al igual crear un constructor con parámetros y los métodos gets y sets, así como un método para ver la información del estudiante
Finalmente cree una ventana para llenar los datos de un estudiante y mostrar la información
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
sin imagen de perfil

escriba una cadena de caracteres y muestre cuales caracteres se repite mas veces consecutivamente

Publicado por Luis (1 intervención) el 15/02/2020 22:19:59
Diseñar una solución OO que obtenga la lista de los números negativos en una serie de números enteros. La solución debe incluir GUI y diseño orientado a objetos. NECESITO AYUDA
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

escriba una cadena de caracteres y muestre cuales caracteres se repite mas veces consecutivamente

Publicado por Alexander (1 intervención) el 07/10/2020 18:18:31
Hola si en el ejercicio ya se como hallar el numero mayor, pero ahora tengo que encontrar el numero menor por separado. Para que este más claro:
1
2
3
4
5
6
7
8
9
10
11
12
//funcion que devuelva el elemento mayor
static int Hallarmayor(int n[]){
int nmayor=0;
int nmenor=0;
for (int i = 0; i nmayor){
nmayor=n[i];
}
 
}
return nmayor;
}
//funcion que devuelve el elemento menor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

escriba una cadena de caracteres y muestre cuales caracteres se repite mas veces consecutivamente

Publicado por Billy Joel (876 intervenciones) el 17/02/2020 16:23:02
1
2
3
4
5
6
7
8
9
10
11
12
13
public static void main(String [] args){
    Scanner sc = new Scanner(System.in);
    System.out.print("Introduzca una cadena: ");
    String cadena = sc.nextLine();
    Map<Character, Integer> m = new HashMap();
    for(char c : cadena.toCharArray()){
        m.put(c, m.containsKey(c) ? m.get(c) + 1 : 1);
    }
    //Ahora imprimimos los caracteres y cuantas veces se repiten
    m.forEach((c,v)->{
        System.out.println(c+": " + v);
    });
}

Para que quede mas claro lo que hago en la línea m.put(c, m.containsKey(c) ? m.get(c) + 1 : 1);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static void main(String [] args){
    Scanner sc = new Scanner(System.in);
    System.out.print("Introduzca una cadena: ");
    String cadena = sc.nextLine();
    Map<Character, Integer> m = new HashMap();
    for(char c : cadena.toCharArray()){
        if(m.containsKey(c)){
            int v = m.get(c);
            v++;
            m.put(c, v);
        } else {
            m.put(c, 1);
        }
        m.put(c, m.containsKey(c) ? m.get(c) + 1 : 1);
    }
    //Ahora imprimimos los caracteres y cuantas veces se repiten
    m.forEach((c,v)->{
        System.out.println(c+": " + v);
    });
}

Saludos,
Billy Joel
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
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

escriba una cadena de caracteres y muestre cuales caracteres se repite mas veces consecutivamente

Publicado por Rodrigo (623 intervenciones) el 19/02/2020 15:11:19
Al segundo programa hay que borrarle la linea 14, sino va a contar 2 veces todo, y parece que ambos estan resolviendo el problema de contar letras solamente, pero el problema original es saber cual se repite mas, pero solo se contabiliza las letras que aparecen consecutivas, no en cualquier parte (por ejemplo, la solucion provista antes por el usuario UnoPorAhi, aunque parece que hay un error en esa, sospecho que la linea 12 de esa solucion deberia ser contador=1, sino va a contar 1 menos cada vez ).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

escriba una cadena de caracteres y muestre cuales caracteres se repite mas veces consecutivamente

Publicado por Billy Joel (876 intervenciones) el 19/02/2020 15:56:57
ufff se me fue
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