鬼荒凌 2015-05-10 03:42 采纳率: 0%
浏览 1435

求解答:java小程序执行过程

package chap14;

import java.util.*;

interface Generator {
T next();
}

class Coffee {
private static long counter = 0;
private final long id = counter++;

public String toString() {
    return getClass().getSimpleName() + " " + id;
}

}

class Latte extends Coffee {
}

class Mocha extends Coffee {
}

class Cappuccino extends Coffee {
}

class Americano extends Coffee {
}

class Breve extends Coffee {
}

public class CoffeeGenerator implements Generator, Iterable {
private Class[] types = { Latte.class, Mocha.class, Cappuccino.class,
Americano.class, Breve.class, };
private static Random rand = new Random(47);

public CoffeeGenerator() {
}

// For iteration:
private int size = 0;

public CoffeeGenerator(int sz) {
    size = sz;
}

public Coffee next() {
    try {
        return (Coffee) types[rand.nextInt(types.length)].newInstance();
        // Report programmer errors at run time:
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

    class CoffeeIterator implements Iterator<Coffee> {
    int count = size;

    public boolean hasNext() {
        System.out.println(count);
        return count > 0;
    }

    public Coffee next() {
        count--;

        return CoffeeGenerator.this.next();
    }

    public void remove() { // Not implemented
        throw new UnsupportedOperationException();
    }
};

public Iterator<Coffee> iterator() {
    return new CoffeeIterator();
    //return new CoffeeGenerator();
}

public static void main(String[] args) {
    CoffeeGenerator gen = new CoffeeGenerator();
    for (int i = 0; i < 5; i++)
        System.out.println(gen.next());
    for (Coffee c : new CoffeeGenerator(5))
    //for (Coffee c : gen.iterator())
        System.out.println(c);
}

}

  • 写回答

3条回答 默认 最新

  • swumqw 2015-05-14 08:21
    关注

    这个是啥。。。给点注释

    评论

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码