我真的可以使用更有经验的人的手来学习如何编写函数来创建和返回整数数组。感谢任何指导,我对通过下面描述的Junit测试应该采取的下一步感到非常困惑。
看来我应该能够从测试中获得相当多的见解,但这是我第一次接触 Junit 测试。谁能帮我解释这个单元测试片段?
目标
编写一个创建并返回整数数组的函数:
- 这些值应介于 0 到 100000 之间。
- 使用 Math.random() 生成从 0.0 到 1.0 的随机数。
- 必须通过Junit测试(见下面的片段)
注意:我最终将编写函数以气泡排序并选择排序。我还将报告大小为 1000 到 10000 的向量(随机整数)的时序,步进 1000、气泡和选择排序函数需要多长时间。
生成数字的 Junit 测试
@org.junit.Test
public void generateNumbers() {
for (int i = 1; i < 10000; i += 10) {
int[] newArray = SortingDriver.generateNumbers(i);
Assert.assertEquals(i, newArray.length);
}
}
当前代码(排序驱动程序)
public static int[] generateNumbers(int howMany) {
// TODO: Create and return array of integers
// TODO: The values should be from 0 to 100000
// TODO: Use Math.random() to generate random numbers from 0.0 to 1.0
int size = 100000;
// Create array of integers
int[] sortMe = new int[size];
// Utilize random function to create a random number in between 0 and 100,000
int rand = (int)(Math.random() * (size + 1));
// For loop?
}
public static int[] generateNumbers(int howMany) {
int size = howMany;
// Create array of integers and instantiate variable to determine random number
int[] sortMe = new int[size];
int rand = (int)(Math.random() * 100000 + 1);
// For loop to generate random number
for (int i = 1; i < sortMe.length; i += 10) {
// Utilize random function to create a random number in array between 0 and 100,000
sortMe[i] = rand;
}
return sortMe;
}