zoukankan      html  css  js  c++  java
  • 补交20145226蓝墨云班课 -- Arrays和String单元测试

    蓝墨云班课 -- Arrays和String单元测试

    具体描述:

    在IDEA中以TDD的方式对String类和Arrays类进行学习

    • 测试相关方法的正常,错误和边界情况

    • String类

      • charAt
      • split
    • Arrays类

      • sort
      • binarySearch

    提交测试代码和运行结果截图,加上学号水印,提交码云代码链接。

    内容:

    1. String类

    String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。java把String类声明的final类,不能有类。String类对象创建后不能修改,由0或多个字符组成,包含在一对双引号之间。

    (1)charAt(int index)方法

    该方法返回位于字符串的指定索引处的字符,字符串的索引从零开始,其中index是指字符的索引,即下标。例如字符串“Pretty boys and girls.”中,若是调用方法charAt(3),则返回的是‘t’字符。

    测试代码如下所示:

    String s = "Pretty boys and girls.";
    	
    @Test
    public void testCharAt() {
    	assertEquals('t',s.charAt(3)); //1
    	assertEquals(' ',s.charAt(6)); //2
    	assertEquals('g',s.charAt(16)); //3
    	assertEquals('.',s.charAt(21)); //4
    	//assertEquals('e',s.charAt(3)); //5
    	//assertEquals(' ',s.charAt(22)); //6
    }
    
    

    将5和6所在的行注释(或删除)后,其中第4行是边界,运行结果为:

    若是将5所在行添加到项目中,会发生错误,因为测试值和给定的值不一致,具体的运行结果为:

    若是将6所在行添加到项目中,会发生错误,因为数组越界,超过给定字符串的长度,具体的运行结果为:

    (2)split()方法

    该方法是用于分隔字符串,得到一个字符数组。例如字符串“Pretty boys and girls.”按照空格分隔,即调用split(" ")方法,可得到对应的字符串数组"Pretty","boys","and"和"girls."。

    测试代码如下所示:

    String s = "Pretty boys and girls.";
    @Test
    public void testSplit() {
    	assertEquals("Pretty",s.split(" ")[0]); //1
    	assertEquals("boys",s.split(" ")[1]); //2
    	assertEquals("and",s.split(" ")[2]); //3
    	assertEquals("girls.",s.split(" ")[3]); //4
            //assertEquals(".",s.split(" ")[3]); //5
    }
    
    

    将5所在的行注释(或删除)后,运行结果为:

    若是将5所在行添加到项目中,会发生错误,因为测试值和给定的值不一致,具体的运行结果为:

    1. Arrays类

    Arrays类是一个实现对数组操作的工具类,包括了各种各样的静态方法,可以实现数组的排序和查找、数组的比较和对数组增加元素,数组的复制和将数组转换成字符串等功能。

    (1)sort()方法

    该方法用于数组排序,默认是升序排列,但是可以通过修改compareTo中的返回值来变为降序排列。

    测试代码如下所示:

    int[] i = {2,5,9,1};
    
    @Test
    public void testSort() {
    	Arrays.sort(i);
    	assertEquals(1,i[0]); //1
    	assertEquals(2,i[1]); //2
    	assertEquals(5,i[2]); //3
    	assertEquals(9,i[3]); //4
    	//assertEquals(5,i[3]); //5
    }
    
    

    将5所在的行注释(或删除)后,运行结果为:

    若是将5所在行添加到项目中,会发生错误,因为测试值和给定的值不一致,具体的运行结果为:

    (2)binarySearch()方法

    该方法使用二分搜索法来搜索指定的数组,以获得指定对象,返回要搜索元素的索引值。

    测试代码如下所示:

    int[] i = {2,5,9,1};
    
    @Test
    public void testBinarySearch() {
    	int c = Arrays.binarySearch(i, 5);
    	assertEquals(1,c); //1
    	//assertEquals(2,c); //2
    }
    
    
    将2所在的行注释(或删除)后,运行结果为:
    ![](http://images2015.cnblogs.com/blog/1002160/201706/1002160-20170604194704743-1192009265.png)
    
    
    
    若是将2所在行添加到项目中,会发生错误,因为测试值和给定的值不一致,具体的运行结果为:
    ![](http://images2015.cnblogs.com/blog/1002160/201706/1002160-20170604194710477-60636800.png)
  • 相关阅读:
    cogs 2355. [HZOI 2015] 有标号的DAG计数 II
    洛谷 P4705 玩游戏
    LOJ #6436. 「PKUSC2018」神仙的游戏
    CF712D Memory and Scores
    CF 553E Kyoya and Train
    洛谷 P4841 城市规划
    [转载]Java集成PageOffice在线打开编辑word文件
    [转载]Java读取Excel中的单元格数据
    [转载]Java操作Excel文件的两种方案
    [转载]Java导出Excel
  • 原文地址:https://www.cnblogs.com/bestixyh/p/6941638.html
Copyright © 2011-2022 走看看