zoukankan      html  css  js  c++  java
  • 20175316 盛茂淞 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
    }
    

    2.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所在行添加到项目中,会发生错误,因为测试值和给定的值不一致,具体的运行结果为:

  • 相关阅读:
    敏捷不是XP(口水文)
    利用异或的特性解决,找出重复数的问题,应该是目前最优算法。
    开源和免费那些事儿(二)
    开源和免费那些事儿
    LINQ本质 外篇 JOIN补遗
    在北京求.NET开发职位,人已经到达北京
    软件是邪恶的
    最近遇到的两个面试题兼卖身广告
    谈谈信仰和银弹。
    继续高阶函数好玩有用的扩展(网吧行文)
  • 原文地址:https://www.cnblogs.com/sms369/p/10713790.html
Copyright © 2011-2022 走看看