首页 > 其他 > 详细

实验二

时间:2016-03-31 23:12:17      阅读:190      评论:0      收藏:0      [点我收藏+]

1、写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示。(单词之间用空格隔开,如“Hello World My First Unit Test”);

import java.util.ArrayList;

       import java.util.Collections;

       import java.util.Comparator;

       import java.util.HashMap;

       import java.util.List;

       import java.util.Map;

       import java.util.Map.Entry;

 

       public class CalculateRate  {

           public static void main(String[] args) {

              String str = "Hello World My First Unit Test";

              String[] items = str.split(" ");

              Map<String, Integer> map = new HashMap<String, Integer>();

              for (String s : items) {

                  if (map.containsKey(s))

                     map.put(s, map.get(s) + 1);

                  else {

                     map.put(s, 1);

                  }

              }

              List<Entry<String, Integer>> list = new ArrayList<Entry<String, Integer>>();

              for (Entry<String, Integer> entry : map.entrySet()) {

                  list.add(entry);

              }

              Collections.sort(list, new EntryComparator());

 

              for (Entry<String, Integer> obj : list) {

                  System.out.println(obj.getKey() + "\t" + obj.getValue());

              }

           }

       }

 

       class EntryComparator implements Comparator<Entry<String, Integer>> {

           public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {

              return o1.getValue() > o2.getValue() ? 0 : 1;

           }}

技术分享

技术分享

覆盖率:

技术分享

———————————————————————————————————————————————————————————————————————————————————————

2、学习单元测试代码覆盖率工具的使用

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

public class Demo {

 public static void main(String[] args){

 String str ="how are you";

System.out.println(reverse(str));

 

}

 

 public static String reverse(String s){

 int pos=0;

 StringBuilder sb=new StringBuilder();

 for(int i=0;i<s.length();i++){

 char c=s.charAt(i);

 if(c==‘ ‘){

pos=0;

}

 sb.insert(pos, c);

 if(c!=‘ ‘){

pos++;

}

}

 return sb.toString();

}

技术分享

 

 

覆盖率:

技术分享

实验二

原文:http://www.cnblogs.com/u914155/p/5343136.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!