Maison  >  Questions et réponses  >  le corps du texte

单元测试 - 自动生成数组或其它数据的java库?

比如说, 我希望验证一个排序算法是否正确. 我不想自己去写测试数据, 有没有什么库能够自动生成包含数据的数组或其它的容器类.

比如能够自动生成一个长度为100的有序int数组等等.

迷茫迷茫2744 Il y a quelques jours573

répondre à tous(2)je répondrai

  • 巴扎黑

    巴扎黑2017-04-18 10:50:41

    Mots clés, shuffle

        public static List<Integer> generateRandomArray(int len)
        {
            if(len <= 0)
            {
                throw new IllegalArgumentException(len + " can not be negitive.");
            }
            List<Integer> arr = new ArrayList<>(len);
            for(int i = 0; i < len; i++)
            {
                arr.add(i);
            }
            Collections.shuffle(arr);
            return arr;
        }

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-18 10:50:41

    Je n'ai jamais entendu parler d'une telle bibliothèque - mais pour ce genre de méthode simple, je suggère de "faire vous-même et d'avoir suffisamment de nourriture et de vêtements". Sur la base de vos bases actuelles, vous devriez réfléchir davantage, écrire davantage et pratiquer davantage – mettre en œuvre vous-même ce type de méthode est un bon processus de pose de bases.

    Ce dont vous avez besoin maintenant n'est pas une méthode pour générer un tableau ordonné. Ce dont vous avez besoin, ce sont les deux méthodes suivantes :

    Générer un tableau d'entiers non ordonnés de longueur n, la plage d'éléments du tableau est 0 ~ liée :

    public int[] randomArray(int n, int bound) {
        Random random = new Random();
    
        int[] array = new int[n];
        for (int i = 0; i < n; i++) {
            array[i] = random.nextInt(bound);
        }
    
        return array;
    }

    Déterminez si le tableau est trié par ordre croissant :

    public boolean isAscending(int[] array) {
        for (int i = 1; i < array.length; i++) {
            if (array[i - 1] > array[i]) { // 判断降序的话,将 > 改成 <
                return false;
            }
        }
        return true;
    }

    Avec ces deux méthodes, vous pouvez générer un tableau d'entiers pour le tri et déterminer si le tableau d'entiers est en ordre.

    répondre
    0
  • Annulerrépondre