代码改变世界

分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示

2016-04-15 19:29  果冻大魔王  阅读(178)  评论(0)    收藏  举报

package com.cxy.test;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

 

public class Test2 {


private Map<String, Integer> wordsMap;
public Test2(String strWords) {
wordsMap = this.getArray(strWords);
}

public Map<String, Integer> getArray(String strWords) {
String[] words_Array = strWords.split("");
Map<String, Integer> words_Map = new HashMap<String, Integer>();

int arrlength = words_Array.length;
for (int i = 0; i < arrlength; i++) {
if (!words_Map.containsKey(words_Array[i])) {
words_Map.put(words_Array[i], 1);
} else {
int currentNum = words_Map.get(words_Array[i]) + 1;
words_Map.remove(words_Array[i]);
words_Map.put(words_Array[i], currentNum);
}
}
return words_Map;
}

public void OutputResult() {
Set s = wordsMap.keySet();
Iterator i = s.iterator();
while (i.hasNext()) {
Object o = i.next();
System.out.println(o + "显示了" + wordsMap.get(o)+"次");
}
}
}

 

//测试类

package com.cxy.test;
import static org.junit.Assert.*;

import org.junit.Test;

import com.kai.demo.Test2;


public class Test2Test {

@Test
public void test() {
String strWords = "Hello World My First Unit Test";
Test2 test = new Test2(strWords);
test.OutputResult();
}

}