[试题]

阅读以下说明和Java代码,回答问题

[说明]

在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合将小对象组合,成复杂的对象。

以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder类规定组成文件的方法,Director类利用这个方法产生一份具体的文件。图6-1显示了各个类间的关系。

以下是Java语言实现,能够正确编译通过。

[Java代码]

//Builder. java文件

public (1) class Builder {

public abstract void makeTitle(String title);

public abstract void makeString(String str);

public abstract void makeItems(String[] items);

public abstract Object getResult();

}

//Director. java文件

public class Director{

private (2) builder;

public Director(Builder builder){

this. builder = builder;

}

public Object construct(){

builder.makeTitle("Greeting");

builder.makeString("从早上到白天结束");

builder.makeItems(new String[]{"早安", "午安",});

builder.makeString("到了晚上");

builder.makeItems(new String[]("晚安", "好梦",});

return builder.getResult();

}

}

//TextBuilder.java文件

public class TextBuilder (3) Builder{

private StringBuffer buffer = new StringBuffer();

public void makeTitle(String title){

buffer.append("『" + title + "』"/n/n");

}

public void makeString(String str){

buffer.append('■' + str + "/n/n ");

}

public void makeItems(String[] items){

for(int i = 0; i< (4) ; i++){

buffer.append('·' + items[i] + "/n");

}

buffer.append("/n");

}

public Object getResult(){

return buffer.toString();

}

}

//Main.java文件

public class Main {

public static void main(String[] args) {

D.irector director = new Director(new TextBuilder());

String result = (String)director. (5) ;

System.out.println(result);

参考答案与解析:

相关试题

阅读以下应用说明、图和Java代码,根据要求回答问题1至问题5。 (说明) St

[试题]阅读以下应用说明、图和Java代码,根据要求回答问题1至问题5。(说明)Stack类是java. ntil包中专门用来实现栈的工具类。以下Java程序是一个不使用库函数而实现字符串反转的程序。例如,输入:123456,则输出:654321:输入:asdfeg,则输出:gefdsa。(Java程序)import java.applet.Applet;import java.awt.*;import java.awt.event.*;import java.util.*;public class Us

  • 查看答案
  • 阅读以下说明和Java代码,回答问题[说明] 对多个元素的聚合进行遍历访问时,需

    [试题]阅读以下说明和Java代码,回答问题[说明]对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Book)放到书架(BookShelf)上并依次输出书名。这样就要涉及到遍历整个书架的过程。使用迭代器Iterator实现。图6-1显示了各个类间的关系。以下是JAVA语言实现,能够正确编译通过。[图6-1][Java代码]//Iterator. java文件public interfa

  • 查看答案
  • 阅读以下说明和Java代码,回答问题[说明] 任何一种程序都是为了解决问题而撰写

    [主观题]阅读以下说明和Java代码,回答问题[说明]任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方法来解决同样问题。以下是一个“剪刀石头布”游戏。猜拳时的“策略”有2种方法:第一种是“猜赢后继续出同样的招式”(WinningStrategy),第二种是“从上一次出的招式种,以概率分配方式求出下一个招式的几率”(ProbStrategy)。程序中定义了Hand类表示猜拳时的“手

  • 查看答案
  • 阅读以下应用说明、图和C£«£«代码,根据要求回答问题1至问题3。 [说明] 已

    [主观题]阅读以下应用说明、图和C++代码,根据要求回答问题1至问题3。[说明]已知以下C++程序运行时的输出结果如下。1:11:11:1[C++程序]01 include <iostream>02 using namespace std;03 class Stock{04 protect:05 (1) { };06 Stock(int n, int pr=1) {07 shares = n; share_val=pr;08 };09 void ~Stock() { };10 public:11 //成员

  • 查看答案
  • 阅读以下技术说明和程序代码,根据要求回答问题。 [说明] 某公司用ASP£«SQ

    [主观题]阅读以下技术说明和程序代码,根据要求回答问题。[说明]某公司用ASP+SQL Server开发的电子商务网站系统,提供了商品查询、网上购物车、订单管理、后台商品管理和支付等功能。图6~11是用ASP实现的电子商务网站的主页。系统的数据库名为 shangwu,所在服务器IP地址为211.54.32.21,其中,user表用于存放注册用户名和密码,结构如表 6-19所示。设计该电子商务网站时,某页面框架代码如下。该网页代码中定义了(1)个框架。

  • 查看答案
  • 阅读以下说明和x86汇编语言代码,根据要求回答问题1至问题3。(说明) 在某嵌入

    [试题]阅读以下说明和x86汇编语言代码,根据要求回答问题1至问题3。(说明)在某嵌入式安全监测系统中,对某任务的加工操作需通过数据采集(Collect_task)、计算(Calculate_task)这两个不同的程序段来完成,并且执行程序段Collect_task和Calculate _task的顺序及次数有如下约定:C.ollect_task(2次)→Calculate_task(1次)→Collect_task(5次)→Calculate_task(4次)→Collect_task(2次)→Calc

  • 查看答案
  • 阅读以下说明和C语言代码,回答问题1至问题4,将解答填入答题纸的对应栏内。[说明

    [试题]阅读以下说明和C语言代码,回答问题1至问题4,将解答填入答题纸的对应栏内。[说明]有两个任务(编号分别为0和1)需要访问同一个共享资源,为了解决竞争条件(race condition)的问题,需要实现一种互斥机制,使得在任何时刻只能有一个任务访问该共享资源。代码一给出了一种实现方法。[代码一]1: int flag[2]; /* flag 数组,初始化为FALSE */2: Enter_Critical_Section(int my_task_id, int other_task_id)3: {4

  • 查看答案
  • 阅读以下技术说明、Java源程序和运行测试部分,根据要求回答问题1和问题2。(说

    [试题]阅读以下技术说明、Java源程序和运行测试部分,根据要求回答问题1和问题2。(说明)1.HTTP◆ HTTP请求消息示例G.ET/index,htmlHTTP/1.1A.ccept:image/gif,image/jpeg,*/*A.ccept-Language:zh-chA.ccept-encoding:gzip,deflateUser-Agent:Mozilla/4.0(compatible: MSIE6.0;Windows 2003)H.ost:localhost:8080C.onnecti

  • 查看答案
  • 阅读以下说明,回答问题1至问题5, [说明] 在Linux服务器中,inetd£

    [单选题]阅读以下说明,回答问题1至问题5,[说明]在Linux服务器中,inetd/xinetd是Linux系统中一个重要服务。下面选项中______是xinetd的功能。A.网络服务的守护进程 B.定时任务的守护进程C.负责配置网络接口 D.负责启动网卡

  • 查看答案
  • 阅读以下说明,回答问题1和问题2。(说明) 用Authorware制作课件,制作

    [试题]阅读以下说明,回答问题1和问题2。(说明)用Authorware制作课件,制作者不需要掌握太多的编程技巧,只需要将软件提供的图标拖放到流程线上,然后将教学素材添加到图标中,再利用图标设置画面的控制页面的跳转和内容的交互等,就可以制作出能包含文字、声音、图像、动画等多种媒体的CAI课件来。但是,Authorware的文本排版能力和文本编辑能力等都比较欠缺,这影响了课件画面的美观。简述多媒体课件的优势。

  • 查看答案