实验二

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验二相关的知识,希望对你有一定的参考价值。

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();

}

技术分享

 

 

覆盖率:

技术分享

以上是关于实验二的主要内容,如果未能解决你的问题,请参考以下文章

python模块中__init__.py的作用

实验十三 窗口设计

实验任务四

三次Java实验整理汇报:

20172319 实验二《树》实验报告

2018-2019-120165223 实验五 通讯协议设计