public interface Generator<T> {
T next();
}//生成器
public class Fibonacci implements Generator<Integer>{
private int count = 0;
private int fib(int n){
if(n<2) return 1;
return fib(n-1) + fib(n-2);
}
public Integer next() {
System.out.println("count:"+count);
return fib(count++);
}
public static void main(String[] args){
Fibonacci gen = new Fibonacci();
for(int i=0;i<18;i++){
System.out.println(gen.next()+ " ");
}
}
}
public class IterableFib extends Fibonacci implements Iterable<Integer>{
private int n;
public IterableFib(int count){ n=count ; }
public Iterator<Integer> iterator() {
return new Iterator<Integer>(){
public boolean hasNext(){ return n>0 ;}
public Integer next(){
n--;
System.out.println("n:"+n);
return IterableFib.this.next();
}
public void remove(){
}
};
}
public static void main(String[] args){
IterableFib ife = new IterableFib(18);
for(int i:ife)
System.out.println(i + " ");//猜得到输出结果吗
}
}///整个适配器类的用法有何见解