fork(3) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. Ideone ide = new Ideone();
  13. StringBuffer texto = new StringBuffer("Hoje em dia, é necessário ser esperto. O nosso dia a dia é complicado.");
  14.  
  15. List<String> palavrasRepetidas = ide.pegaRepetidas(texto);
  16.  
  17. String saida = texto.toString().replace(palavrasRepetidas.get(0), "<b>"+palavrasRepetidas.get(0)+"</b>");
  18.  
  19. for (int i=1; i < palavrasRepetidas.size(); i++) {
  20. saida = saida.replace(palavrasRepetidas.get(i), "<b>"+palavrasRepetidas.get(i)+"</b>");
  21. }
  22.  
  23. System.out.println(saida);
  24.  
  25. }
  26.  
  27. private List<String> pegaRepetidas(StringBuffer texto) {
  28. String textoFormatado = texto.toString().replaceAll("[,.!]", "");
  29. StringTokenizer st = new StringTokenizer(textoFormatado);
  30.  
  31. List<String> palavrasRepetidas = new ArrayList<>();
  32.  
  33. while (st.hasMoreTokens()) {
  34. String palavra = st.nextToken();
  35. if (contaPalavra(palavra, textoFormatado) > 1) {
  36. //System.out.println(palavra + " tem mais de uma vez");
  37. if ( !palavrasRepetidas.contains(palavra) ) {
  38. palavrasRepetidas.add(palavra);
  39. }
  40. }
  41. }
  42.  
  43. return palavrasRepetidas;
  44. }
  45.  
  46. private static int contaPalavra(String palavra, String texto) {
  47. int count = 0;
  48. while (st.hasMoreTokens()) {
  49. if (st.nextToken().compareTo(palavra) == 0) {
  50. count++;
  51. }
  52. }
  53.  
  54. return count;
  55. }
  56. }
Success #stdin #stdout 0.1s 320320KB
stdin
Standard input is empty
stdout
Hoje em <b>dia</b>, <b>é</b> necessário ser esperto. O nosso <b>dia</b> a <b>dia</b> <b>é</b> complicado.