Como identificar e contar sequência de caractere em java?

Exemplo

String s = " aaa bbbbb aa ccc d ee fff kkkkkk";

Resultado esperado seria
a:3 , b:5, a:2, c:3, d:1, e:2, f:3, k:6

Estou no primeiro ano de análise de sistemas e estou com dificuldades em resolver esse problema

Bom Dia.

De uma olhada Aqui.

Para resolver um problema precisamos de um algoritmo. Nesse caso, trata-se de um problema
em que você pode usar a sua criatividade e lógica e criar várias soluções. Eis a minha proposta simplória para resolver esse problema:

Uma String é uma cadeia de caracteres, portanto ‘espaços’, ‘quebras de linha’ … são todos caracteres que o seu computador identifica através de uma tabela de códigos padrão. Isso é assunto pra outro pergunta. Leia aqui no fórum sobre isso: GUJ - Caracteres Especiais.
Resolvendo o problema, temos que a sequência é quebrada por ‘espaço’. Em Java um espaço é na verdade isso: ’ '.

Então o algoritmo é:
Enquanto não chegar no final da String, faça:
Ler a string S até achar um caractere do tipo (letra do alfabeto).
Pra cada sequência repetida, você irá ler o caractere e contar numa variável a quantidade, ex:
cont++. Criar uma string para salvar a letra que você leu.
A leitura se dará até achar o espaço, quando achar o espaço, faça:
Imprima a quantidade de cont e a string temporária para imprimir a letra e quantidade (cont).
Agora, zere cont, ex cont = 0.
Repita esse Laço até a condição de parada.

Dica: Para saber o tamanho da sua String em Java, use suaString.length() - retorna um int que representa o tamanho dela. (Isso será a condição de parada do seu algoritmo).
Espero ter ajudado! :slight_smile:

1 curtida

Que resposta show. Fiquei até com vergonha do meu pitaco agora. Mas lá vai:
A classe String tem alguns métodos que facilitariam sua vida, inclusive se vc preferir trabalhar com array é fácil converter.

Toda opinião é importante. E como disse, talvez você tenha outra maneira de resolver até mais eficiente. :wink:

1 curtida