繁体   English   中英

将数组值分配给不生成的int和随机数组(java)

[英]Assigning array values to ints and random array not generating (java)

我试图从0-3创建三个不同的随机数,并将每个随机数分配给一个int变量。 我该怎么做呢? 同样,当.opset(0, 2)时将不会生成该数组(0, 2)但当它为(1, 3)时将不会生成。 我怎样才能解决这个问题?

package varselect;
import java.util.Arrays;
import java.util.Random;
public class varselect {
    public static void main(String[] args) {
        final int[] ints = new Random().opset(0, 2).distinct().limit(3).toArray();
    }
}

java.util.Random没有名为opset方法,因此您的问题中的代码无法编译。 您可以改用ints方法:

final int[] ints = new Random().ints(0, 4).distinct().limit(3).toArray();
System.out.println(Arrays.toString(ints));

请注意, ints会采用您要生成数字的范围的下限(包括上限)和上限(不包括上限),因此,如果希望数字介于0和3之间(包括0和3),则需要指定(0, 4)作为参数。

这将是正确的方法:

final int[] ints = new Random().ints(0, 4).distinct().limit(3).toArray();

它使用ints(0, 4)IntStream提供ints(0, 4)0-3值,然后我们调用.distinct()获得不同的值,调用limit(3)获得3不同的值,最后将其转换为数组。

如果要得到长度为3的结果随机整数数组,则应将绑定参数3传递给Random.ints(int randomNumberOrigin,int randomNumberBound)。

int[] randomIntArray = new Random().ints(0, 4).distinct().limit(3).toArray();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM