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