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

问题描述

求解答: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);
}

}

解决方案

这个是啥。。。给点注释

解决方案二:

这个够乱的。。。
主要是把子类打印的过程吧。
至于模式应该是:策略模式
不知有没有答错,大神指点。。

解决方案三:

最后一个for循环不对吧

时间: 2024-08-29 08:16:44

求解答:java小程序执行过程的相关文章

日历-求帮写一个java小程序

问题描述 求帮写一个java小程序 读取txt文件,文件中有一个8位的日期(任意),读出并打印此日期开始的一个月日历 解决方案 String s="20160221"; SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd"); try { Date startDate=sdf.parse(s); Calendar c2=Calendar.getInstance(); Calendar c=Calendar.getI

将 Java 小程序迁移到 Microsoft J# 浏览器控件

程序|控件|浏览器 Visual J# .NET 小组 Microsoft Corporation 摘要:通过 Microsoft J# 浏览器控件,开发人员可以将所编写的在 Java 虚拟机上运行的 Java 小程序迁移到 .NET 框架.本文向开发人员介绍 J# 浏览器控件,并说明将 Java 小程序迁移到 .NET 框架的步骤.本文还讨论了其他一些主题,如 J# 浏览器控件的安全性和调试,以及当前版本中不受支持的功能. 下载 HTML 小程序到对象标记转换器 (95KB) 本文假设开发人员

使用Java小程序为网页上的照片添加效果

程序|网页 1.准备源文件 选择要放置到网页上的照片,用扫描仪扫描得到照片的图像文件,再用PhotoShop等图像处理软件处理成大小为300×300象素的图像,最后保存为或者使用ACESee等图像查看软件转换为.jpg格式,保存到新建的文件夹photo中(注意千万别使用汉字为这个文件夹命名).现在假设这些照片图像分别为photo1.jpg.photo2.jpg.photo3.jpg.其中photo1.jpg为主要照片,photo2.jpg和photo3.jpg为辅助照片,最好选择不同时期的照片以

在Dreamweaver中为网页插入Java小程序

Java 是一种程序设计语言, Java applet ( Java 小程序)是在 Java 的基础上演变而成的.能够嵌入在网页中的.可以执行一定小任务的应用程序. 效果说明 建立文件,以 Java 计算器为实例,插入 Applet 对象,设置高度与宽度,如图 35-1 所示.实际效果请浏览随书光盘中的源文件. 创作思想 打开 Dreamweaver MX 2004 软件新建页面,执行[插入]∣[媒体]∣[ Applet ]命令插入 Applet 对象,然后设置高度与宽度. 操作步骤 ( 1 )

如何将网站上的json数据导到我的java小程序中?

问题描述 如何将网站上的json数据导到我的java小程序中? 我刚学完java基础,打算单纯用java做一个股票数据查询小程序.在聚合数据上找到了一个资料:http://www.juhe.cn/docs/api/id/21 ,我不知道要怎么弄了. 解决方案 发送http请求,读取返回的json数据,存到文件等,然后java程序访问文件 解决方案二: JAVA用POST向网页发送请求,接收数据 下面是一个范例程序: import java.io.BufferedReader; import ja

Red5应用程序执行过程中遇到的错误

问题描述 我的服务器端应用程序完成下面的功能测试Demo:1.循环监听数据库,30分钟查询一次2.手动初始化数据库报警信息为1(也可以不用手动初始化,程序课自动初始化)3.查询到报警信息为1.启动视频流录制函数,录制15分钟的视频(由客户端不间断推送),录制完后将数据库中报警信息置为0:4.查询到报警信息为0,自动将报警信息置为1,30分钟后查到为1的时候可自动录制视频 客户端连接应用程序,应用程序执行过程中打印到Red5-service.log中的问题如下:INFO|jvm1|2013/01/

用java小程序applet实现无限级树结构

程序 该程序可以根据从指定的xml文件中读取的有关信息动态的建立一棵树. 1.该树的特点: 1)无限级树结构 理论上树的深度可以无限,树的深度由xml文件所给的信息确定: 数据加载采用一次加载和动态加载相结合的方法: 每次打开相关页时重新加载树结构,真正的做到了建立树的动态性. 2)复用性 由于这棵树是通过读取xml文件建立的,树的程序代码固定,所以具有很强的复用性.只需要给出xml文件,程序就可以建立对应的树. 3)与用户的交互 由于该程序是用java小程序实现的,所以可以利用java语言中监

Java小程序源文件的组成

Java小程序的源文件有三种,后缀名分别是.java,.class和.jar. 这之中只有.java文件能让你读懂并修改(当然你要懂一点java编程),但是.java文件是不能直接应用的,你必须用编译器把它编译成.class文件才能直接插入网页.事实上,大多数java小程序的作者不愿意把.java文件公开给大家,因此我们能在网上找到的大多是不能修改只能直接利用的.class文件. 而.jar文件,如果你有它,并在<applet>中加上archive="*.jar",则可以在

如何通过禁用Java小程序脚本解决网页内容复制不了等问题

  平常我们会在浏览器中浏览某些网站网页内容,当我们看到精彩文章信息时也会通过复制粘贴的形式来保存,但有用户在复制网页内容时提示"无法复制"的问题,这给我们收集网页内容带来麻烦,其实我们可以通过win7 64位浏览器Internet区域禁用Java小程序脚本来解决网页内容无法复制的问题,下面来看看具体设置教程吧. 设置步骤如下所示: 1.先打开浏览器,点击浏览器上面的"工具--Internet选项"选项; 2.这时候会弹出的一个对话框,直接将其切换到"安全