Java - 帮助编写返回数组的函数(使用Junit测试)

时间:2018-02-12 02:05:24

标签: java arrays sorting random

我真的可以使用经验更丰富的人来学习编写函数来创建和返回整数数组。任何指导都表示赞赏,我对下一步应该采取的措施非常困惑,以便通过下面描述的Junit测试。

似乎我应该能够从测试中获得相当多的洞察力,但这是我第一次接触Junit测试。任何人都可以帮我解释这个单元测试片段吗?

目标

编写一个创建并返回整数数组的函数:

  • 值应为0到100000。
  • 使用Math.random()生成从0.0到1.0的随机数。
  • 必须通过Junit测试(请参阅下面的代码段)

注意:我最终会将函数写入冒泡排序并选择排序。我还将报告大小为1000到10000的向量(随机整数)的时间,步进1000,气泡和选择排序函数需要多长时间。

针对generateNumbers的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);
    }
}

当前代码(SortingDriver)

    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?
}

1 个答案:

答案 0 :(得分:0)

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