有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java通过随机类和排序为数组生成数据

使用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] + " "); array required, but Random found.

请帮忙


共 (1) 个答案

  1. # 1 楼答案

    您没有在数组中创建任何随机值。您正在创建一个随机长度(介于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;
        }
    

    然后做气泡排序