首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Bo
阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Bo
admin
2014-10-11
107
问题
阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸对应栏内。
【说明】
对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Book)放到书架(Bookshelf)上并依次输出书名。这样就要涉及到遍历整个书架的过程。使用迭代器Iterator实现。图6—1显示了各个类间的关系。以下是JAVA语言实现,能够正确编译通过。
【图6—1】
【Java代码】
//Iterator.java文件
public interface 工terator{
publ ic abstractboolean hasNext();
public abstract object next();
}
//Aggregate.java文件
publ ic interface Aggregate {
publ ic abstract Iterator iterator();
}
//Book.java
public class Book {
//省略具体方法和属性
}
//Bookshel fIterator.java文件
publ ic class BookShelfIterator (1) Iterator f
private BookShelf bookShel f:
private int index:
publie BookShel fIterator(BookShelfbookShel f){
this.bookShel f=b00kShelf:
this.index=0:
}
public boolean hasNext(){//判断是否还有下一个元素
if(index
return true:
)else{
return false:
}
)
public object next()(//取得下一个元素
Book book=bookShelf.getBookAt(index);
index++:
return book:
}
)
//B00kShelf.java
Importjava.util.vector;
publ ic class BookShelf{
priVate Vector books:
public BookShelf(intinitialsize);
this.books=new Vector(initialsize);
}
publ ic Book getBookAt(int index){
return (Book)books.get(index);
}
public int getLength(){
return books.size();
}
publ ic Iterator iterator(){
return new BookShel fIterator( (2) );
}
}
//Main.java文件
public class Main{
public static void main(String[] args){
B00kSnelt bookShelf=new B00kShelf(4);
//将书籍上架,省略代码
Iterator it=bookshelf(3);
while(4){//遍历书架,输出书名
Book book=(Book)it.(5);
System.out.println(“+b00k.getName());
}
}
}
选项
答案
(1)implements (2)this (3)iterator() (4)it.hasNext() (5)next()
解析
Iterator是接口类,空(1)应该填implements。根据构造函数BookShelⅡterator(BoOkShelfb00kShelf)可得,空(2)应填this,即自身引用。空(3)是取得迭代器实例,BookShel蹼中方法iterator0是返回Iterator接口,故空(3)应填iterator0。while循环是遍历书架,输出书名,循环条件是“还有下一一记录(书)”,故空(4)应填it.hasNext0。注意指针写法。空(5)是取得书实例,BookShelf类中方法next()是返回Object类实例,取得下一本书,故空(5)应填next()。
转载请注明原文地址:https://kaotiyun.com/show/piDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
下图是________________设计模式的类图,该设计模式的目的是________________,图中,Decorator和Component之间是________________关系,ConcreteDecorator和Decorator之间是_
针对程序段:IP(A||B||C)THENW=W/X,对于(A,B,C)的取值,(57)测试用例能够满足MCDC(修正条件逻辑判定)的要求。
在软件开发过程中,常采用图形表示相关的信息,(28)不用于表示软件模块的执行过程。
瀑布模型表达了一种系统的、顺序的软件开发方法。以下关于瀑布模型的叙述中,正确的是(17)。
下列操作系统中,_____保持网络系统的全部功能,并具有透明性、可靠性和高性能等特性。
错误管理的流程可以概括为:测试人员提交新的错误入库,错误状态为1,高级测试人员验证错误,如果确认是错误,分配给相应的开发人员,设置状态为2,如果不是错误,则拒绝,设置为“拒绝”状态:开发人员查询状态为3的错误,做如下处理:如果不是错误,则置状态为“拒绝”,
对于逻辑表达式(bufc[i]>223&&bufc[i]<240&&i+2<totalbytes),需要______个测试用例才能完成条件组合覆盖。
某开发小组为某企业开发较大规模的项目,该开发小组已经为同一行业的其他企业开发过类似的项目,且该项目需求变化很少,则最适宜采用_______开发过程模型。
在C程序中,________是合法的用户定义变量名。①123②form-7③short④form7
目前,通过移动电话接人互联网采用的主要技术是什么?进行一次查询的数据信息如表9-1所示,网络的基本通信服务费用如表9-2所示,总费用=网络租用费+通信费。根据表中给出的数据,试计算销售员每月至少应进行多少次查询,才能使得使用移动电话的总费用比使用PDA
随机试题
下列关于口腔健康教育的描述错误的是
大体积混凝土的养护时间不得少于()。为使大体积混凝土得到补偿收缩,减少混凝土的温度应力,在拌和混凝土时,可掺入适量合适的()。
汕头某企业拟销往西亚一批不锈钢餐刀和其他不锈钢制品,计划经陆路从香港装船出运。该批货物采用出口直接转运的方式,已向汕头海关办理了相关手续,在深圳口岸申报出境时,报关员应该向深圳海关出具下列哪些单证?()
如何认识教育法的本质?
【2015上】儿童的身心发展具有明显的差异性,这一特点决定了教育工作要()。
ReadthefollowingtextandanswerthequestionsbychoosingthemostsuitablesubheadingfromthelistA-Gforeachofthenu
以下关于函数过程的叙述中,正确的是______。
Theshoesaretoo______(big).Iwanttochangethemfor______(small)ones.
Heisthirsty.Pleasegivehimsome______todrink.
SALESSTAFFWANTEDAtKellerTravel,webelieveourunrivaledreputationforofferingefficientandfriendlyservicetoour
最新回复
(
0
)