实验二

Posted 颜小媛

tags:

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

 

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

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

(2)编写单元测试进行测试;

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

 

1)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 MapSort {

    public static void main(String[] args) {

        String str = "Hello World My First Hello 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)

3)

 

 

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

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

(2)编写单元测试进行测试;

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

1)package junit4.demo;

import java.util.Scanner;

 

public class reversal {

   

 

 

 

    public static void main(String[] args) {

 

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

 

    }

 

    }

 

2)

 

3)

 

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

通信原理实验二 角度调制实验

20165223 实验二 面向对象程序设计

计算机系统 实验二 数据表示实验

实验二 组合逻辑电路设计;实验三 时序逻辑电路设计

区块链技术与应用实验报告(实验二)

实验二 20155335 实验报告 固件程序设计