要實現我有以下問題:產量在Python需要在Java
寫一個類需要一系列整數從生成一個數字一個發電機。包括兩個功能:1-總和2-平均值。
我知道yield語句是Python中的選擇,如果生成器需要通過在每一步返回一個一個地生成數字。
你們在java中怎麼做?我不知道怎樣才能實現這個
謝謝。
要實現我有以下問題:產量在Python需要在Java
寫一個類需要一系列整數從生成一個數字一個發電機。包括兩個功能:1-總和2-平均值。
我知道yield語句是Python中的選擇,如果生成器需要通過在每一步返回一個一個地生成數字。
你們在java中怎麼做?我不知道怎樣才能實現這個
謝謝。
如果你想實現「序列」類似的行爲,你可以選擇實現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;
}
}
你有什麼試過的?使用簡單的for-loop應該工作?或者你正在尋找更簡潔的東西? –
你能告訴我們循環看起來有多簡單嗎?請確保數字只能從發生器中逐一生成。 – Bob
如果這是家庭作業,它應該被標記爲這樣。 –