通过Random类和排序为数组生成数据

时间:2012-12-10 19:55:18

标签: java arrays random

使用Random类获取0到99之间的数字并将它们存储到数组中。使用for循环获取每个随机数,将每个随机数存储到数组中,然后打印每个值。

然后使用冒泡排序对数组进行排序,并打印出存储的数组。

这是我的程序

import java.util.Random;

public class Randomness
{
    public static void main(String[] args)
    {
        Random randomNum = new Random();
        for (int number = 0; number <= 99; ++number)
        {
            int num = randomNum.nextInt(100);

            System.out.print(num + " ");

            int numValues = num;
            int [] values = new int[numValues];

            boolean swap;
            do
            {
                swap = false;
                int temp;
                for (int count = 0; count < numValues-1; count++)
                    if (values[count] > values[count+1])
                    {
                        temp = values[count];
                        values[count] = values[count+1];
                        values[count+1] = temp;
                        swap = true;
                    }
            } while (swap);

            System.out.print(values[count] + " ");
        }
    }
}

我收到错误

  

System.out.print(values [count] +“”);需要数组,但随机找到。

请帮忙!

1 个答案:

答案 0 :(得分:3)

您没有在数组中创建任何随机值。您正在创建一个随机长度的数组(介于0到99之间)。您需要使用随机的方式初始化数组的每个元素:

    Random randomNum = new Random();
    int numValues = 100;
    int[] values = new int[numValues];
    for (int number = 0; number < numValues; ++number)
    {
        int num = randomNum.nextInt(100);
        System.out.print(num + " ");

        values[number] = num;
    }

然后进行冒泡排序。