我有以下问题:
编写一个类,从一个一个生成数字的生成器中获取一系列整数。包括两个函数:1-求和2-平均。
我知道yield语句是python中的选择,如果生成器需要在每一步返回一个数字。
你们用java怎么做呢?我不知道怎么才能实现这个
谢谢。
如果你想实现类似"sequence"的行为,你可以选择实现java.util.Iterator接口。
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;
}
}