gpt4 book ai didi

java - 这个 for 循环可以转换为 IntStream 吗?

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:44 25 4
gpt4 key购买 nike

是否有任何方法可以将以下 for 循环转换为使用 IntStream

for (int i =1; i<=5; i++)
{
nums.add(n.nextInt(45)+1);
}

我非常简单地尝试了以下操作:

IntStream.range(1,5).forEach(nums.add(n.nextInt(45)+1));

但它输出以下错误:

incompatible types: boolean cannot be converted to IntConsumer IntStream.range(1,5).forEach(nums.add(n.nextInt(45)+1));

最佳答案

您缺少 lambda 表达式的参数:

IntStream.rangeClosed(1,5).forEach(i -> nums.add(n.nextInt(45)+1));

此外,如果您希望索引从 1 到 5(含),则需要 rangeClosed

也就是说,有更简洁的方法可以使用 IntStream 生成随机数。例如:

Random rand = new Random();
int[] nums = rand.ints(5,1,46).toArray();

关于java - 这个 for 循环可以转换为 IntStream 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49729290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com