首页 > 软考
题目内容 (请给出正确答案)
[主观题]

读下列说明和Java代码,将应填入(n)处的字句写在对应栏内。 【说明】 已知某类库开发商捉供了一套类

读下列说明和Java代码,将应填入(n)处的字句写在对应栏内。

【说明】

已知某类库开发商捉供了一套类库,类库中定义了Application类和Document类,它们之间的关系如下图所示,其中,Application类表示应用程序自身,而Document类则表示应用程序打开的文档。Application类负责打开一个已有的以外部形式存储的文档,如一个文件,一旦从该文件中读出信息后,它就由一个Document对象表示。

读下列说明和Java代码,将应填入(n)处的字句写在对应栏内。 【说明】 已知某类库开发商捉供了一套

当开发一个具体的应用程序时,开发者需要分别创建自己的Application和Document子类,例如上图中的类MyApplication和类MyDocument,并分别实现Application和 Document类中的某些方法。

已知Application类中的openDocument方法采用了模板方法(Template Method)设计模式,该方法定义了打开文档的每一个主要步骤,如下所示:

1.首先检查文档是否能够被打开,若不能打开,则给出出错信息并返回;

2.创建文档对象;

3.通过文档对象打开文档;

4.通过文档对象读取文档信息;

5.将文档对象加入到Application的文档对象集合中。

【Java代码】

abstract class Document{

public void save(){/*存储文档数据,此处代码省略*/ )

public void open(String docName){ /*打开文档,此处代码省略*/)

public void close(){ /*关闭文档,此处代码省略*/)

public abstract void read(String docName);

};

abstract class Appplication{

private Vector<(1)> docs; /*文档对象集合*/

public boolean canOpenDocument(String docName){

/*判断是否可以打开指定文档,返回真值时表示可以打开,

返回假值表示不可打开,此处代码省略*/

}

public void addDocument(Document aDocument){

/*将文档对象添加到文档对象集合中*/

docs.add((2));

}

public abstract Document doCreateDocument();/*创建一个文档对象*/

public void openDocument(String docName){/*打开文档*/

if ((3)) {

System.out.println(“文档无法打开!”);

return;

}

(4) adoc=(5);

(6);

(7);

(8);

}

};

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“读下列说明和Java代码,将应填入(n)处的字句写在对应栏内…”相关的问题
第1题
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某灯具厂商欲生产一个

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都

有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌

灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。command模式

的类图如图6-1所示。

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某灯具厂商欲生产一个

【Java代码】

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某灯具厂商欲生产一个

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某灯具厂商欲生产一个

}

点击查看答案
第2题
阅读以下说明和Java代码,将应填入(n)处的语句写在对应栏内。 【说明】 进行两个整数之间的比较,由考

阅读以下说明和Java代码,将应填入(n)处的语句写在对应栏内。

【说明】

进行两个整数之间的比较,由考生通过输入窗口分别输入两个整数,程序比较出结果。例如:先后输入的两个数分别为25和36。

比较结果显示:

25!=36

25<36

25<=36

【Java代码】

import javax.swing.JOptionPane;

public class Java3

{

public static void main(String args[])

{

String (1) // 用户输入第1个字符串

secondNumber, // 用户输入第2个字符串

result; // 包含输出

int number1, // 比较的第1个数

number2; // 比较的第2个数

// 用户输入的第1个字符串

firstNumber =

JOptionPane. (2) ("Enter first integer:");

//读用户输入的第2个字符串

secondNumber =

JOptionPane.showlnputDialog("Enter second integer:");

将字符串类型转换成整数类型

number1= Integer. (3) (firstNumber);

number2= Integer.parselnt(secondNumber);

result= "":

if ((4))

result=number1+"=="+number2;

if (number1 != number2)

result=number1+"!="+number2;

if (number1<number2)

result=result+"\n"+number1+"<"+ number2;

if (number1>number2)

result=result+"\n"+number1+">"+number2;

if (number1<=number2)

result=result+"\n"+number1+"<="+number2;

if (numbed>=number2)

result=result+"\n"+number1+">="+number2;

//显示结果

JOptionPane.(5).(

null, result, "Comparison Results",

JOptionPane. INFORMATION_MESSAGE);

//程序正常退出

System.exit(0);

}

}

点击查看答案
第3题
试题六(共15分)阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】某发

试题六(共15分)

阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】

某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图6-1所示的类图。

试题六(共15分)阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明

【java代码】

class invoice{

public void printInvoice(){:

System.out.println ("This is the content of the invoice!");

}

}

class Decorator : extends Invoice {

protected Invoice ticket;

public Decorator(lnvoice t){

ticket = t;

}

public void printinvoice(){

if(ticket != NULL)

(1);

}

}

class FootDecorator extends Decorator{

public FootDecorator(lnvoice t){

super(t);

}

public void printinvoice (){

Systent.out.println("This is the header of the invoice! ");

(2) ;

}

}

class FootDecorator extends Decorator {

public FootDecorator(invoice t):{

super(t);

}

public void printlnvoice(){

(3) ;

Systent.out.println("This is the header of the invoice! ");

}

}

Class test {

public static void main(string[] args){

Invoice t =new invioce();

Invoice ticket;

Ticket= (4) ;

Ticket. Printinvoice();

Systent.out.println(“--------------“)

Ticket= (5) ;

Ticket. Printinvoice();

}

}

程序的输出结果为:

This is the header of the invoice!

This is the content of the invoice!

This is the footnote of the invoice!

----------------------------

This is the header of the invoice!

This is the footnote of the invoice!

点击查看答案
第4题
阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。[说明] 编写一个字符界面的Java Appli

阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。

[说明]

编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。

[Java 代码]

import java. io.* ;

public class abc

{

public static void main ((1))

{int i, n=10, max=0, min=0, temp=0;

try {

BufferedReader br = new BufferedReader (

new InputStreamReader (System.in ) );

max = min =Integer. parselnt (br. readLine () );

}. (2) (IOExccption e ) {} ;

for (i=2 ; i<=n ; i++ ) {

try {

BufferedReader br = new (3) (

new InputStreamReader (System. in ) );

temp =(4) (br. readLine ());

if (temp>max ) max=temp;

if (temp<min) (5)

} catch (IOException e ) {};

}

System.out.println ("max="+max+"\nmin="+min );

}

}

点击查看答案
第5题
阅读以下说明、Java代码和HTML文档,将应填入(n)处的字句写在对应栏内。【说明】 当用户启动html浏览

阅读以下说明、Java代码和HTML文档,将应填入(n)处的字句写在对应栏内。

【说明】

当用户启动html浏览器并首次打开下面的html文档时,Java Applet小程序在显示面板上显示字符串“欢迎您!”;当html页面被其他窗口遮挡后再次显示时,小程序在显示面板上显示“欢迎您回来!”

[Java代码]

import java.awt.*;

import java.applet.*;

public class HelloApplet extends (1) {

public void paint((2) ){

g.drawString(message,10,20);

message="欢迎您回来!";

}

public void (3) (){

message="欢迎您!";

}

private (4) message;

}

[HTML文档]

<html>

<head>

<title>HTML Test HelloApplet Page</title>

</head>

<body>

Test HenoApplet 小程序<br>

<applet

codebase="."

code="(5)"

name="TestApplet"

width="400"

height="300"

</applet>

</body>

</html>

点击查看答案
第6题
阅读以下说明、Java代码和HTML文档,将应填入(n)处的字句写在答题纸的对应栏内。【说明】 当用户启动h

阅读以下说明、Java代码和HTML文档,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

当用户启动html浏览器并首次打开下面的HTML文档时,Java Applet小程序在显示面板上显示字符串“Welcome!”;当html页面被其他窗口

遮挡后再次显示时,小程序在显示面板上显示“Welcome back!”。

【Java代码】

import javA.awt.*;

import javA.applet;

public class HelloApplet extends (1) {

public void paim((2)){

g.drawString(message,10,20);

message="welcome back!”;

}

public void (3) (){

message="Welcome!”;

}

private (4) message;

}

【HTML文档】

<html>

<head>

<title>HTML Test HelloApplet Page</title>

</head>

<body>

Test HelloApplet小程序<br>

<applet

codebase="."

code="(5) "

name="TestApplet"

width="400"

height="300"

</applet>

</body>

</html>

点击查看答案
第7题
阅读下列说明和 Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 某快餐厅主要制

阅读下列说明和 Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但其制作过程相同。前台服务员 (Waiter) 调度厨师制作套餐。现采用生成器 (Builder) 模式实现制作过程,得到如图 6-1 所示的类图。阅读下列说明和 Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 某快餐厅主【Java代码】 class Pizza { private String parts; public void setParts(String parts) { this.parts = parts; } public String toString() { return this.parts; } } abstract class PizzaBuilder { protected Pizza pizza; public Pizza getPizza() { return pizza; } public void createNewPizza() { pizza = new Pizza(); } public (1) ; } class HawaiianPizzaBuilder extends PizzaBuilder { public void buildParts() { pizza.setParts("cross + mild + ham&pineapp1e”}; } class SpicyPizzaBuilder extends PizzaBuilder { public void buildParts() { pizza.setParts("pan baked + hot + pepperoni&salami"); } } class Waiter { private PizzaBuilder pizzaBuilder; public void setPizzaBuilder(PizzaBuilder pizzaBuilder) { /*设置构建器*/ (2 ) ; } public Pizza getPizza(){ return pizzaBuilder.getPizza(); } public void construct() { /*构建*/ pizzaBuilder.createNewPizza(); (3 ) ; } } Class FastFoodOrdering { public static viod mainSting[]args) { Waiter waiter = new Waiter(); PizzaBuilder hawaiian_pizzabuilder = new HawaiianPizzaBuilder(); (4 ) ; (5 ) ; System.out.println("pizza: " + waiter.getPizza()); } } 程序的输出结果为: Pizza:cross + mild + ham&pineapple

点击查看答案
第8题
阅读以下说明、Java代码,将应填入(n)处的字句写在对应栏内。【说明】 本程序输出10000之内的所有完全

阅读以下说明、Java代码,将应填入(n)处的字句写在对应栏内。

【说明】

本程序输出10000之内的所有完全数。完全数是指等于其所有因子和(包括1,但不包括这个数本身)的数。例如:6=1×2×3,6=1+2+3,则6是一个完全数。

【程序】

public class PerfectNum

{

Public static void main(String args[])

{

int count=1;

for(int i=1; i<10000; i++)

{

int y=0;

for(int j=1; j<i; j++)

if((1))

y=(2)

if((3))

{

System.out.print((4) +String.valueOf('\t'));

(5)

If(count%3==0)

System.out.printin();

}

}

}

点击查看答案
第9题
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某软件公司现欲开发一

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表6-1所示。

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某软件公司现欲开发一

为支持将来模拟更多种类的飞机,采用策略设计模式(Strategy)设计的类图如图6-l所示。

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某软件公司现欲开发一

图5-11中,AirCraft为抽象类,描述了抽象的飞机,而类Helicopter、AirPlane、Fighter和Harrier分别描述具体的飞机种类,方法fly()和takeOff()分别表示不同飞机都具有飞行特征和起飞特征;类FlyBehavior与TakeOffBehavior为抽象类,分别用于表示抽象的飞行行为与起飞行为;类SubSonicFly与SuperSonicFly分别描述亚音速飞行和超音速飞行的行为;类Verti—calTakeOff与LongDistanceTakeOff分别描述垂直起飞与长距离起飞的行为。

【Java代码】

interface FlyBehavior{

public void fly();

};

class SubSonicFly implements FlyBehavior{

public void fly(){System.out.println("亚音速飞行!");}

};

class SuperSonicFly implements FlyBehavior{

public void fly(){System.out.println("超音速飞行!");}

};

interface TakeOffBehavior{

public void takeOff();

};

class VerticalTakeOff implements TakeOffBehavior{

public void takeOff(){System.out.println("垂直起飞!");}

};

class LongDistanceTakeOff implements TakeOffBehavior{

public void takeOff(){System.out.println("长距离起飞!");}

};

abstract class AirCraft{

protected (1);

protected (2);

public void fly(){ (3);}

public void takeOff(){ (4);};

};

class Helicopter (5) AirCraft{

public Helicopter(){

flyBehavior=new (6) ;

takeOffBehavior=new (7) ;

}

};

//其它代码省略

点击查看答案
第10题
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某公司的组织结构图如

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

某公司的组织结构图如图6-1所示,现采用组合(Composition)设计模式来设计,得到如图6-2所示的类图。

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某公司的组织结构图如

其中Company为抽象类,定义了在组织结构图上添加(Add)和删除(Delete)分公司/办事处或者部门的方法接口。类ConcreteCompany表示具体的分公司或者办事处,分公司或办事处下可以设置不同的部门。类HRDepartment和FinanceDepartment分别表示人力资源部和财务部。

【Java代码】

import Java.util.*j

(1) Company{

protected String name;

public Company(String name) { (2)=name;}

public abstract void Add(Company C);//增加子公司、办事处或部门

public abstract void Delete(Company C);//删除子公司、办事处或部门

}

class ConcreteCompany extends Company{

private List<(3) >children=new ArrayList<(4)>();

//存储子公司、办事处或部门

public ConcreteCompany(String name){super(name);}

public void Add(Company c){(5).add(c);)

public void Delete(Company c){(6).remove(c);)

}

class HRDepartment extends Company{

public HRDepartment(String name){super(name);}

//其它代码省略

}

class FinanceDepartment extends Company{

public FinanceDepartment(String name){super(name);)

//其它代码省略

}

public class Test{

public static void main(String[]args){

ConcreteCompany root=new ConcreteCompany(“北京总公司”);

root.Add(new HRDepartment(“总公司人力资源部”));

root.Add(new FinanceDepartment(“总公司财务部”));

ConcreteCompany comp=new ConcreteCompany(“上海分公司”);

comp.Add(new HRDepartment(“上海分公司人力资源部”));

comp.Add(new FinanceDepartment(“上海分公司财务部”));

(7) ;

ConcreteCompany compl=new ConcreteCompany(“南京办事处”);

compl.Add(new HRDepartment(“南京办事处人力资源部”));

Compl.Add(new FinanceDepartment(“南京办事处财务部”);

(8); //其它代码省略

}

}

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改