我正在尝试从0-3创建三个不同的随机数,并将每个随机数分配给一个int
变量。我该怎么做呢?同样,当.opset
为(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();
}
}
答案 0 :(得分:2)
在类opset
中没有名为java.util.Random
的方法,因此问题中的代码无法编译。您可以改用方法ints
:
final int[] ints = new Random().ints(0, 4).distinct().limit(3).toArray();
System.out.println(Arrays.toString(ints));
请注意,ints
取要生成数字的范围的下限(包括上限)和上限(不包括上限),因此,如果希望数字介于0和3之间(包括0和3),则需要指定{ {1}}作为参数。
答案 1 :(得分:1)
这将是正确的方法:
final int[] ints = new Random().ints(0, 4).distinct().limit(3).toArray();
它使用ints(0, 4)
为IntStream
提供0-3
中的值,然后我们调用.distinct()
获得不同的值,limit(3)
获得{{1 }}不同的值,最后我们将其转换为数组。
答案 2 :(得分:0)
如果要得到长度为3的结果随机整数数组,则应将绑定参数3传递给Random.ints(int randomNumberOrigin,int randomNumberBound)。
int[] randomIntArray = new Random().ints(0, 4).distinct().limit(3).toArray();