码迷,mamicode.com
首页 > 其他好文 > 详细

实验二

时间:2016-03-31 23:15:17      阅读:171      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!