Programação Orientada a Objeto

1 resposta
arraylistjavaprogramação
Addetro

Bom dia meu amigos,

Alguém poderia me ajudar com o problema abaixo ? Não estou conseguindo separar a String (frase digitada) por palavras dentro do ArrayList.

“Faça um programa que conte a quantidade de vezes (frequência) que uma palavra aparece em uma frase, apresentando o resultado com as palavras em ordem alfabética. Por exemplo, a frase “Eu estou escrevendo um programa, mas eu não tenho um programa para escrever.” deveria ter como saída: [escrevendo-1; escrever-1; estou-1; eu-2; mas-1; não-1; para-1; programa-2; tenho-1; um-2”.

Agradeço desde já ajuda de todos.

1 Resposta

darlan_machado

Bom, esse problema não pode ser resolvido num arraylist. Você precisa de um mapa para isso.

Map<String, Integer> mapa = new HashMap<>();
String palavras[] = frase.split(" ");
for(String palavra : palavras) {
    Integer qtd = mapa.get(palavra);
    if(null == qtd) {
        qtd = 0;
    }
    qtd++;
    mapa.put(palavra, qtd);
}
Criado 3 de dezembro de 2019
Ultima resposta 3 de dez. de 2019
Respostas 1
Participantes 2