Saludos.
Buscando una solución, encontré un código que decía las veces que se repetían las palabras en una frase. Yo lo modifiqué para que devolviera la palabra que más se repetía y en caso que hubiesen más de una con la misma cantidad de repeticiones la diera todas como resultado. Ten en cuenta que en el método split utilicé el espacio como delimitador de las palabras, por lo que si vas a introducir un parrafo con puntos y comas, deberás utilizar una expresión regular según te convenga. Aquí va
Código Java:
Ver original/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package palabramasrepetida;
/**
*
* @author cob
*/
public class PalabraMasRepetida {
/**
* @param args the command line arguments
*/
public static void main
(String[] args
) { // TODO code application logic here
PalabraMasRepetida palabra = new PalabraMasRepetida();
String frase
= "baño gato baño gato data baño perro fhgj tsyu gato peRRo"; System.
out.
print("La(s) palabra(s) que más se repite(n) es(son): " + palabra.
obtenerLaMasRepetida(frase
)); }
{
String palabras
[] = _frase.
split(" "); String palabrasB
[] = _frase.
split(" ");
int cantidad = palabras.length;
int contadorMasRepet = 0;
for (int i = 0; i < cantidad; i++) {
int contador = 0;
// resultado += palabras[i];
for (int j = 0; j < cantidad; j++) {
if (palabra.equalsIgnoreCase(palabrasB[j])){
contador++;
palabras[j] = "";
}
}
if ((contador > 1)&& (contador > contadorMasRepet)){
resultado = palabra;
contadorMasRepet = contador;
System.
out.
print(palabras
[i
]); }
else if ((contador > 1)&& (contador == contadorMasRepet)){
resultado += " " + palabra;
}
}
if (resultado == "")
resultado = "No hay palabra repetida";
return resultado;
}
}