我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

java-樊江飞-2021.3.12

[复制链接]
皮皮虾学员认证 发表于 2021-3-12 17:51:47 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
package day06;

import java.io.*;

/*
写文件:1、创建一个对象 2、调用write方法写文件  3、关闭对象
        FileOutputStream
        OutputStreamWriter
        BufferedWriter
*/
public class Demo05 {
    public static void write1(String path, String content) throws IOException {
        // true 表示追加,false表示覆盖
        FileOutputStream fileOutputStream = new FileOutputStream(path, true);
        fileOutputStream.write(content.getBytes()); // String转Byte[]
        fileOutputStream.close();
    }
    public static void write2(String path, String content) throws IOException {
        // true 表示追加,false表示覆盖
        Writer writer = new FileWriter(path, true);
        BufferedWriter bufferedWriter = new BufferedWriter(writer);
        bufferedWriter.write(content);
        bufferedWriter.close();
        writer.close();
    }
    public static void main(String[] args) throws IOException {
        String content = "周末愉快!\n周末去哪里玩?\n";
        String path = "E:\\LearnJava\\src\\day06\\file.txt";
        write1(path, content);

        content = "春暖花开";
        write2(path, content);
    }
}

package day06;

import java.util.ArrayList;
import java.util.List;

public class Demo06 {
    /*
    2. 定义一个静态方法,类似python中切片的功能,参数1是一个整数列表,参数2是开始索引,参数3是结束索引。
    返回包含开始、包含结束的子列表
    比如传入 [1,2,3,4,5] , 1, 3 返回[2,3,4]
    (1)、对参数做检查。
    (2)、设计用例测试这个方法。
     */
    public static List<Integer> qiePian(List<Integer> list, int start, int end) {
        // 参数不合法
        if(list == null || start < 0 || end < start || end >= list.size()) {
            System.out.println("参数不正确。");
            return null;
        } else {
            List<Integer> result = new ArrayList<>();
            for(int i = start; i <= end; i++) {
                result.add(list.get(i));
            }
            return result;
        }
    }
}

package day06;

import java.util.Arrays;
import java.util.List;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;

// Demo06的测试类
class Demo06Test {

    @org.junit.jupiter.api.Test
    void qiePian() {
        // 测试数据
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);

        // 用例1:异常场景-list为null时,返回null
        assertNull(Demo06.qiePian(null, 1, 2));
        // 用例2:正常场景-list正确,start、end取值正确
        assertEquals(Arrays.asList(2, 3, 4, 5, 6), Demo06.qiePian(list, 1, 5));
        // 用例3:正常场景-list正确,start取边界值0
        assertEquals(Arrays.asList(1, 2, 3, 4, 5, 6), Demo06.qiePian(list, 0, 5));
        // 用例4:正常场景-list正确,end取边界值,列表的长度-1
        assertEquals(Arrays.asList(7, 8, 9), Demo06.qiePian(list, 6, list.size()-1));
        // 用例5:异常场景-list正确,start取负值,返回null
        assertNull(Demo06.qiePian(list, -1, 2));
        // 用例6:异常场景-list正确,end小于start,返回null
        assertNull(Demo06.qiePian(list, 5, 1));
        // 用例7:异常场景-list正确,end大于最大值,返回null
        assertNull(Demo06.qiePian(list, 5, list.size()));

    }
}

回复

使用道具 举报

关注0

粉丝0

帖子25

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注软件测试菁英教育

客服电话:17792550360

客服时间:9:00-21:00

卓目鸟学苑 - 专注软件测试菁英教育!( 陕ICP备2025058934号-2 )

版权所有 © 西安菁英教育科技有限公司 2023-2026