gpt4 book ai didi

java - Python 中的 Yield 需要在 Java 中实现

转载 作者:行者123 更新时间:2023-11-29 03:53:53 30 4
gpt4 key购买 nike

我有以下问题:

编写一个类,从一个一个生成数字的生成器中获取一系列整数。包括两个函数:1- Sum 2- Average。

我知道如果生成器需要通过在每一步返回来一个一个地生成数字,那么 yield 语句是 python 中的选择。

你们会如何用 Java 实现?我不知道如何实现这一点

谢谢。

最佳答案

如果你想实现类似“序列”的行为,你可以选择实现 java.util.Iterator 接口(interface)。

class RandomSequence implements Iterator<Integer>, Iterable<Integer> {
private int count;
private Random random;


public RandomSequence(int count) {
this.count = count;
this.random = new Random();
}

Integer next() {
count--;

return random.nextInt();

}

boolean hasNext() {
return count > 0;
}

Iterator<Integer> iterator() {
return this;
}

public static void main(String[] args) {
int n = 0;
for(int n: new RandomSequence(10))
sum += n;
}

}

关于java - Python 中的 Yield 需要在 Java 中实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7434796/

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