当前位置:   article > 正文

一个字符串中出现次数最多的单词 java语言实现_如何实现字符串中出现频率最高的单词

如何实现字符串中出现频率最高的单词
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.util.ArrayList;
  5. import java.util.Collection;
  6. import java.util.HashMap;
  7. import java.util.Iterator;
  8. import java.util.Map;
  9. import java.util.Scanner;
  10. import java.util.Set;
  11. public class SubStringAppear
  12. {
  13. public static void main(String args[])
  14. {
  15. BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  16. String str=null;
  17. try {
  18. str = br.readLine();
  19. } catch (IOException e) {
  20. // TODO Auto-generated catch block
  21. e.printStackTrace();
  22. }
  23. int a=0,b=0;
  24. ArrayList list=new ArrayList();
  25. int i,j;
  26. while(true)
  27. {
  28. for(i=b;i<str.length();i++)
  29. {
  30. if(str.charAt(i)!=' ')
  31. {
  32. a=i;
  33. break;
  34. }
  35. }
  36. for(j=a;j<str.length();j++)
  37. {
  38. if(str.charAt(j)==' ')
  39. {
  40. b=j;
  41. break;
  42. }
  43. }
  44. if(i<str.length()&&j<str.length())
  45. {
  46. list.add(str.substring(a, b));
  47. }
  48. if(i<str.length()&&j==str.length())
  49. {
  50. list.add(str.substring(a,str.length()));
  51. break;
  52. }
  53. if(i==str.length())
  54. {
  55. break;
  56. }
  57. }
  58. Iterator<String> ite=list.iterator();
  59. while(ite.hasNext())
  60. {
  61. System.out.println(ite.next());
  62. }
  63. HashMap<String,Integer> map=new HashMap<String,Integer>();
  64. ite=list.iterator();
  65. while(ite.hasNext())
  66. {
  67. String s=ite.next();
  68. if(map.get(s)==null)
  69. {
  70. map.put(s, 1);
  71. }
  72. else
  73. {
  74. map.put(s, new Integer(map.get(s)+1));
  75. }
  76. }
  77. Collection col=map.values();
  78. Iterator<Integer> io=col.iterator();
  79. int max=0;
  80. while(io.hasNext())
  81. {
  82. int k=io.next();
  83. if(max<k)
  84. {
  85. max=k;
  86. }
  87. }
  88. Set<Map.Entry<String, Integer>> set=map.entrySet();
  89. Iterator<Map.Entry<String, Integer>> it=set.iterator();
  90. while(it.hasNext())
  91. {
  92. Map.Entry<String , Integer> entry=it.next();
  93. if(entry.getValue()==max)
  94. {
  95. System.out.println("出现次数最多的单词为: "+entry.getValue()+"出现的次数为: "+max);
  96. }
  97. }
  98. }
  99. }
  100. //用java的迭代器和HashMap实现的

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/527246
推荐阅读
相关标签
  

闽ICP备14008679号