第二次作业

第一题。

1. 写一个Java程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示。(单词之间用空格隔开,如“Hello World My First Unit Test”);
2. 编写单元测试进行测试;
3. 用ElcEmma查看代码覆盖率,要求覆盖率达到100%。
 
解:
Demo类:
1importjava.util.HashMap; 
2importjava.util.Iterator; 
3importjava.util.Map; 
4importjava.util.Set; 
5
6publicclassDemo { 
7
8publicvoidcountWord(String str) { 
9String[] wordsArray = str.split(" "); 
10Map<String, Integer> wordsMap = newHashMap<String, Integer>(); 
11for(String word : wordsArray) { 
12
13if(wordsMap.containsKey(word)) { 
14wordsMap.put(word, wordsMap.get(word) + 1); 
15else
16wordsMap.put(word, 1); 
17
18
19
20Set<String> setKey =wordsMap.keySet(); 
21Iterator<String> itKey =setKey.iterator(); 
22while(itKey.hasNext()) { 
23String word =itKey.next().toString(); 
24intcount =wordsMap.get(word); 
25
26System.out.println("单词 " + word + " 出现" + count + "次"); 
27
28
29
30
31}
JUnit单元测试类:
1importstaticorg.junit.Assert.*
2importorg.junit.Test; 
3
4publicclassDemoTest { 
5
6@Test 
7publicvoidtestCountWord() { 
8Demo demo = newDemo(); 
9demo.countWord("Hello World Hello Java Hello Test"); 
10
11
12}
测试:
技术分享
EclEmma代码覆盖率:
技术分享
 第二题。
 
题目。

1.写一个Java程序,把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;

2.编写单元测试进行测试;

3.用ElcEmma查看代码覆盖率,要求覆盖率达到100%

解:

package cn.lin;
import java.util.Scanner;
public class aaa {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
System.out.print("请输入英文字母:");
String str = input.nextLine();
String[] strArr = str.split("\\s+|[,]");
StringBuffer result = new StringBuffer();
for(int i = strArr.length -1;i >=0; i--){
result.append(strArr[i] + " ");
}
result.setCharAt(str.length()-0, (char) 0);
System.out.println("颠倒顺序后的英文字母结果为:"+result.toString());
}
}

 

posted @ 2016-03-29 23:51  臭傻逼  阅读(197)  评论(0编辑  收藏  举报