编写一个测试类,其中包含一个方法 arrayTwoMin(int a[]),该方法的功能是找出数组中最小的两个元素,并输出。例如:数组为:8 4 7 3 2 9 输出为2 3。 Min1=3 Min2=4 输出为:2
时间: 2024-12-18 08:23:48 浏览: 3
在Java中,可以创建一个名为`ArrayTwoMinTest`的测试类,其中包含一个方法`arrayTwoMin`。这个方法接收一个整数数组作为输入,然后找到并返回数组中的最小两个元素。这里是一个简单的实现示例:
```java
import org.junit.Test;
import static org.junit.Assert.*;
public class ArrayTwoMinTest {
public static void arrayTwoMin(int[] array) {
if (array == null || array.length < 2) {
throw new IllegalArgumentException("Input array must have at least two elements");
}
int min1 = Integer.MAX_VALUE;
int min2 = Integer.MAX_VALUE;
for (int num : array) {
if (num < min1) {
min2 = min1;
min1 = num;
} else if (num < min2 && num != min1) {
min2 = num;
}
}
if (min1 == Integer.MAX_VALUE || min2 == Integer.MAX_VALUE) {
fail("Array does not contain any elements");
}
System.out.printf("Min1=%d, Min2=%d%n", min1, min2);
}
@Test
public void testArrayTwoMin() {
int[] testArray = {8, 4, 7, 3, 2, 9};
arrayTwoMin(testArray); // 预期输出:2 3
}
}
```
在这个例子中,`arrayTwoMin`方法首先检查输入数组的有效性,然后遍历数组寻找最小的两个值。最后,如果找到了这两个值,它们就会打印出来。`@Test`注解表明这是个测试用例,`testArrayTwoMin`方法测试了数组`{8, 4, 7, 3, 2, 9}`的结果。
请注意,这里的输出直接在控制台打印,如果你想要在单元测试环境下获取这些结果,你可能需要修改代码以便于测试框架收集输出信息。
阅读全文