public static void randomSquare()
{
int[] array = new Random().ints(10).toArray();
for (int i=0; i<array.length; i++) {
System.out.print(i + " ");
}
}
我目前有这种方法可以返回随机数。我如何修改它,以便它返回一个10平方数的流?
答案 0 :(得分:3)
如果要对随机数进行平方,请更改
int[] array = new Random().ints(10).toArray();
到
int[] array = new Random().ints(10).map(x -> x*x).toArray();
但是,这可能会导致整数溢出,因此您可能希望限制随机整数的范围。例如:
int[] array = new Random().ints(10,1,100).map(x -> x*x).toArray();
此外,您可以先启动Random,例如
static final Random RAND = new Random();
然后使用
int[] array = RAND.ints(10,1,100).map(x -> x*x).toArray();
如果你想改善表现。
答案 1 :(得分:0)
如果您使用的是Java 8,则可以将代码行更改为:
req.session
但是目前你的方法并没有返回任何内容。您使用void关键字。虚空不会返回任何东西。它告诉编译器该方法没有返回值。 你可以使用int []来返回int数组。
int[] array = new Random().ints(10).map(x -> x*x).toArray();
答案 2 :(得分:0)
我正在添加Eran's answer。
如果您不想限制范围,可以使用BigInteger
List<BigInteger> bigIntegers = new Random().ints(10)
.mapToObj(i ->{
BigInteger intAsBigInteger = new BigInteger(String.valueOf(i));
return intAsBigInteger.multiply(intAsBigInteger);
})
.collect(Collectors.toList());
System.out.println(bigIntegers);