试题详情

试题内容

阅读下列说明和Java代码,将应填入   (n)    处的字句写在答题纸的对应栏内。
【说明】
某图书管理系统中管理着两种类型的文献:图书和论文。现在要求统计所有馆藏文献的总页码(假设图书馆中有一本540页的图书和两篇各25页的论文,那么馆藏文献的总页码就是590页)。采用Visitor(访问者)模式实现该要求,得到如图6-1所示的类图。
图6-1 Visitor模式类图
【Java 代码】
import java.util.*;
interface LibraryVisitor {
(1)   ;
(2)   ;
void printSum();
}
class LibrarySumPrintVisitor implements LibraryVisitor {          //打印总页数
private int sum = 0;
public void visit(Book p_book) {
sum = sum + p_book.getNumberOfPages();
}
public void visit(Article p_article) {
sum = sum + p_article.getNumberOfPages();
}
public void printSum(){
System.out.println("SUM = " + sum);
}
}
interface LibraryItemInterface {
(3)       ;
}
class  Article implements LibraryItemInterface{
private String m_title;      //论文名
private String m_author;    //论文作者
private int    m_start_page;
private int    m_end_page;
public Article(String p_author, String p_title,int p_start_page,int p_end_page){
m_title=p_title;
m_author= p_author;
m_end_page=p_end_page;
}
public int getNumberOfPages(){
return m_end_page - m_start_page;
}
public void accept(LibraryVisitor Visitor){
(4)       ;
}
}
class Book implements LibraryItemInterface{
private String m_title;         //书名
private String m_author;     //书作者
private int    m_pages;        //页教
public Book(String p_author, String p_title,int p_ pages){
m_title= p_title;
m_author= p_author;
m_pages= p_pages;
}
public int getNumberOfPages(){
return m_pages;
}
public void accept(LibraryVisitor visitor){
(5)       ;
}
}
查看答案

软题库参考答案:暂时没有答案(仅供参考)

软题库解析:正在加载....

你可能感兴趣的试题

4题:阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
在一块电路板的上下两端分别有n个接线柱。根据电路设计,用(i,π(i))表示将上端接线柱i与下端接线柱π(i)相连,称其为该电路板上的第i条连线。如图4-1所示的π(i)排列为{8,7,4,2,5,1,9,3,10,6}。对于任何1≤iπ(j)。
在制作电路板时,要求将这n条连线分布到若干绝缘层上,在同一层上的连线不相交。现在要确定将哪些连线安排在一层上,使得该层上有尽可能多的连线,即确定连线集Nets={(i,π(i)),1≤i≤n}的最大不相交子集。

【分析问题】
记N(i,j)={t|(t,π(t))∈Nets,t≤i,π(t)≤j}。N(i,j)的最大不相交
2题:

试题二
某电视台拟开发一套信息管理系统,以方便对全台的员工、栏目、广告和演播厅等进行管理。
[需求分析]
系统需要维护全台员工的详细信息、栏目信息、广告信息和演播厅信息等。员工的信息主要包括:工号、姓名、性别、出生日期、电话、住址等。栏目信息主要包括:栏目名称、播出时间、时长的呢过。广告信息主要包括:广告编号、价格等。演播厅信息包括:房间号、房间面积等。
电视台分局调度单来协调各档栏目、演播厅和场务。一销售档栏目只会占用一个演播厅,但会使用多名场务来进行演出协调。演播厅和场务可以被多个栏目循环使用。
电视台根据栏目来插播广告。每档栏目可以插播多条广告,每条广告也可以在多档栏目插播。
一档栏目可以有多个主持人,但一名支持人只能支持一档栏目。
一名编辑人员可以编辑多条广告,一条广告只能由一名编辑人员编辑。
[概念模型设计]
根据需求阶段收集的信息设计的实体联系图(不完整)如图所示。
6题:

试题:6
阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。Command模式的类图如图1-1所示。



图1-1 Command模式类图
【Java代码】
class Light {
public Light() {}
public Light(String name) { /* 代码省略 */ }
public void on()  { /* 代码省略 */ }    // 开灯
public void off()  { /* 代码省略 */ } &
9题:

试题二
阅读下列说明,回答问题1至问题3。
[说明]
某公司拟开发一多用户电子邮件客户端系统,部分功能的初步需求分析结果如下: 邮件客户端系统支持多个用户,用户信息主要包括用户名和用户密码,且系统中的用户名不可重复。
邮件账号信息包括邮件地址及其相应的密码,一个用户可以拥有多个邮件地址 (如userl@123.com)。
一个用户可拥有一个地址簿,地址簿信息包括联系人编号、姓名、电话、单位地址、邮件地址1、邮件地址2、邮件地址3等信息。地址簿中一个联系人只能属于一个用户,且联系人编号唯一标识一个联系人。
一个邮件账号可以含有多封邮件,一封邮件可以含有多个附件。邮件主要包括邮件号、发件人地址、收件人地址、邮件状态、邮件主题、邮件内容、发送时间、接收时间。其中,邮件号在整个系统内唯一标识一封邮件,邮件状态有已接收、待发送、已发送和已删除4种,分别表示邮件是属于收件箱、发件箱、已发送箱和废件箱。一封邮件可以发送给多个用户。附件信息主要包括附件号、附件文件名、附件大小。一个附件只属于一封邮件,附件号仅在一封邮件内唯一
2题:

试题二
阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。
【说明】
某宾馆拟开发一个宾馆客房预订子系统,主要是针对客房的预订和入住等情况进行管理。
【需求分析结果】
1.员工信息主要包括:员工号、姓名、出生年月、性别、部门、岗位、住址、联系电话和密码等信息。岗位有管理和服务两种。岗位为“管理”的员工可以更改(添加、删除和修改)员工表中本部门员工的岗位和密码,要求将每一次更改前的信息保留;岗位为“服务”的员工只能修改员工表中本人的密码,且负责多个客房的清理等工作。
2.部门信息主要包括:部门号、部门名称、部门负责人、电话等信息。一个员工只能属于一个部门,一个部门只有一位负责人。
3.客房信息包括:客房号、类型、价格、状态等信息。其中类型是指单人间、三人间、普通标准间、豪华标准间等;状态是指空闲、入住和维修。
4.客户信息包括:身份证号、姓名、性别、单位和联系电话。
5.客房预定情况包括:客房号、预定日期、预定入住日期、预定入住天数、身份证号等信息。一条预定信息必须且仅对应一位客户,
1题:

试题一
阅读以下说明和图,回答问题1至问题4,将解答填入对应栏内。
【说明】
某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下;
1.每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的千时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2.学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3.在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的:如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩足有效的,否则无效。
4.对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。
5.若一门课程的所有有效的平时成绩和考试