用java怎么写出算一段英文单词总数和每个单词出现的次数?

用java怎么写出算一段英文单词总数和每个单词出现的次数

import java.util.*;
import java.util.regex.*;
public class Yugi{
    public static void main(String[] args){
        String words = "Look buddy, U got work hard and put yourself in your java, Once you learned the heart of the java, I can guarantee that you win.";
        String reg = "[a-zA-Z]+";
        Pattern p = Pattern.compile(reg);
        Matcher m = p.matcher(words);
        HashMap<String, Integer> map = new HashMap<String, Integer>();
        int count = 0;
        while(m.find()){
         count++;
         String w = m.group();
            if(null == map.get(w)){
                map.put(w, 1);
            }else{
                int x = map.get(w);
                map.put(w, x + 1);
            }
        }
        System.out.println(count);
        System.out.println(map);
    }
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-11-18
1.1 利用状态机,可以实现切词,一个一个char去读;
1.2 利用记录的方式去统计;(这个实现方法很多,但复杂度一般都在N^2)
上述需要一定的功底

2. 如果全部是space 和 ' 分词 ,那么直接用split方法去切开, 然后对子串进行统计
3. 利用MAP REDUCE(这个查阅hadoop的wordcount例子就行)

用java怎么写出算一段英文单词总数和每个单词出现的次数?
import java.util.*;import java.util.regex.*;public class Yugi{ public static void main(String[] args){ String words = "Look buddy, U got work hard and put yourself in your java, Once you learned the heart of the java, I can guarantee that you win."; String reg...

用java 编写一个程序,接受用户输入的一段英文文字,统计出其中的字符个...
System.out.println("单词个数为:" + dc);System.out.println("字母数为:" + (zc - 1));System.out.println("句数为:" + jc);}

java程序:统计一段英文段落中每个单词出现的次数,这个段落存储在一个...
import java.util.HashMap;import java.util.Iterator;import java.util.Scanner;\/ 字典类,记录文章中出现过的所有单词及其次数 author Administrator \/ public class Dictionary { private HashMap< String, Integer > dictionary;private int wordsCount;\/ 字典这个类的构造函数 \/ public Dictionary() {...

...用户输入某个单词,求该单词出现的总次数,和出现在第几个位置上_百度...
= -1){System.out.println (word + " 在第 " + offset + " 个位置出现过.");readWord (input, word, ++offset, ++count);}else{System.out.println (word + " 总共出现了:" + count + " 次.");}}public static void main ( String[] args ){String input = "Look buddy, U ...

怎么用JAVA输出一句话单词的个数和大写字母的个数?
public static void main(String args[]) {String str = "This method does not properly convert bytes into characters.What can I do for you?";\/\/ 单词数int count = 0;\/\/ 大写字母个数int upper = 0;StringBuffer words = new StringBuffer();StringBuffer chars = new StringBuffer();...

Java 统计单词个数并按照出现次数进行排序
public static void main(String[] args) { \/\/ TODO Auto-generated method stub String str = "I am a student";String[] arr = str.split(" ");System.out.println("共"+arr.length+"个单词");for(String item:arr) System.out.println(item);} 如果对您有帮助,请记得采纳为满意答案...

...多少个单词;2、每个单词出现的次数;3、按出现次数升或降序排列_百度...
Java编程:输入一段英文:1、统计一共有多少个单词;2、每个单词出现的次数;3、按出现次数升或降序排列 15 求大神帮忙呀,,很急,,,如果不想公开的话,就发我邮箱吧956389598@qq.com感谢ing………乐乐堂的宝贝 | 浏览2201 次 |举报 我有更好的答案邀请更新...

用java写一个统计字符串中指定单词的个数
bookabcbookadbook";str=" "+str+" ";单词是s="book";直接输出str.split(s).length-1就是单词的个数。原理就是字符串前后都加空格以后,再用你要查找的单词把字符串分成数组,数组元素的个数减1,就是单词的个数了。当然,首先要用contains() 方法判断一下字符串是否已经包含要找的单词。

java计算一篇英文文档词频 并按出现次数从高到低输出(以下基础上补充...
for(String string:Str){ singleSet.add(string);if("".equals(string)){ \/\/这里是我加的,去除空格次数的处理 singleSet.remove("");} } Map<String, Integer> map=new HashMap<String, Integer>();for (String childString : singleSet){ int count=0;for(String fatherString : Str)...

java编程:输入一行英文,判断中间有多少个单词,单词间以空格隔开,连续出 ...
Java程序:public class Main {public static void main(String[] args){String text = "How do you do!";System.out.println(getWords(text));}public static int getWords(String text) {int count = 0;int len = text.length();int i, j;i = 0;while(true) {for(; i<len && ...

相似回答