如何在数组中生成随机双打?

Ash*_*ade 1 java arrays random

我的目标是向用户询问数组长度,并生成一个随机双精度列表以填充该数组。我不明白如何将Math.random放入我的数组中。我从另一种方法开始,然后废弃了它。为什么要使用double random = Math.random()* array; 不能将随机生成器导入我的数组?

import java.util.Scanner;
import java.util.Arrays;
import java.util.Random;

public class Average
{
  public static void main(String[] args)
  {
    /*Scanner in = new Scanner (System.in);

    System.out.println("Please enter your array size: ");
    int size = in.nextInt();
    int[] awnser = new int[size]; */
    Scanner scanner = new Scanner(System.in);

    System.out.println("Enter a number");

    double[] array = new double[scanner.nextDdouble()];
    double random = Math.random() * array;
    System.out.println(array.length);

    }
  }
Run Code Online (Sandbox Code Playgroud)

Men*_*ena 5

使用当前解决方案,您需要使用从0开始到给定大小之前结束的计数器进行迭代,并为每个数组元素分配一个nextDouble调用。

Java不支持将数组对象乘以数字。

这是您可能会喜欢的Java-8习惯用法:

DoubleStream
    .generate(ThreadLocalRandom.current()::nextDouble)
    .limit(yourGivenSize)
    .toArray();
Run Code Online (Sandbox Code Playgroud)

这将为您提供一个double[]size yourGivenSize,其元素是随机生成的。