我想編寫一個類(稱爲Seii),它基本上是從s0開始的一系列整數。 S0設置在構造:使用迭代器創建一個系列
se + 1 = 3*(se/2)
美中不足的是:一個for循環應該能夠通過這個類的對象進行迭代和吐出序列的元素(不起始編號S0)。
for(int i:new Seii(2)){
System.out.println(i)
給出::另外,該序列的第一個元素大於42
例如結束
3,4,6,9,10,15,16,24,36,54
我想使用迭代器來做到這一點。有人能幫助我嗎? 我的想法是重寫next()方法,以便它爲序列的下一個元素進行計算,但是我沒有得到任何關於這個邏輯的地方。
public class Seii<T> implements Iterator {
private ArrayList<Integer> list = new ArrayList<>();
Iterator<Integer> it = list.iterator();
private final int size;
public Seii(int size) {
this.size = size;
}
int seii = 0;
@Override
public boolean hasNext() {
// TODO Auto-generated method stub
return false;
}
@Override
public Object next() {
if ((size % 2) == 0) {
seii = 3 * (seii/2);
return seii;
}
}
}
}
這是我的實現。
爲什麼'Iterator'而不是'Stream'? –
你可以展示你到目前爲止實現這個目標嗎? – dasblinkenlight
@BoristheSpider,因爲我正在學習如何使用迭代器,並且顯然有很好的迭代器實現。 –