首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于某订单管理系统的技术说明、部分UML类图及Java程序,将Java程序中(1)~(5)空缺处的语句填写完整。 [说明] 某订单管理系统的部分UML类图如图5-16所示。 在图5-16中,Product表示产品,Pro
阅读以下关于某订单管理系统的技术说明、部分UML类图及Java程序,将Java程序中(1)~(5)空缺处的语句填写完整。 [说明] 某订单管理系统的部分UML类图如图5-16所示。 在图5-16中,Product表示产品,Pro
admin
2010-01-15
69
问题
阅读以下关于某订单管理系统的技术说明、部分UML类图及Java程序,将Java程序中(1)~(5)空缺处的语句填写完整。
[说明]
某订单管理系统的部分UML类图如图5-16所示。
在图5-16中,Product表示产品,ProductList表示所销售产品的列表,Order表示产品订单,Orderltem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。各个类的部分属性和方法说明如表5-23所示。
可以使用类java.util.ArrayList<E>来实现对象的聚集关系,如图5-16中OrderList与Order之间的聚集关系。
for-each循环提供了一种遍历对象集合的简单方法。在for-each循环中,可以指定需要遍历的对象集合及用来接收集合中每个元素的变量,其语法如下:
for(用来接收集合中元素的变量:需要遍历的对象集合)
如果要使用for-each循环来遍历对象集合,那么包含该对象集合的类必须实现接口java.util.Iterable<T>。
Java程序7-1和Java程序7-2分别给出了类OrderList和方法statistic的Java代码。
选项
答案
这是一道要求读者掌握Java语言中的java.util.ArrayList<E>和for…each循环的程序分析题。本题的解答思路如下。 仔细阅读Java程序7-1——类OrderList的Java代码可知,类OrderList中具有一个类型为 ArrayList<Order>的属性。结合图5-16订单管理系统的部分UML类图可知,类OrderList和Order之间具有聚集关系。由试题给出的关键信息“可以使用类java.util.ArrayList<E>来实现对象的聚集关系”、“如果要使用for…each循环来遍历对象集合,那么包含该对象集合的类必须实现接口java.util.Iterable<T>”可以推理出,(1)空缺处所填写的内容是“implements Iterable<Order>”。 在定义了ArrayList<E>的类中,必须实现接口Iterator<Order>中的方法iterator<Order>∷iterator(),因此(2)空缺处所填写的实现体应为:return this.orders.iterator(),或return orders.iterator()。 仔细阅读Java程序7-2——方法statistic的Java代码可以初步判断,要填写(3)~(5)空缺处,首先要将方法statistic的功能及实现流程分析清楚。而且(3)~(5)空缺处所填写的内容与for…each循环的使用有关;使用for…each循环时,关键是要确定所遍历的是哪一个对象集合。在类SalesSystem中已经具有两个对象集合,即属性catalog和sales。 方法statistic的功能是依次统计产品目录中每个产品的订购总量,并打印出每个产品的编号、说明、订购总量和订购金额。若要统计产品目录中每个产品的订购总量,需要对3个对象集合进行遍历;产品目录(ProductList)、订单列表(OrderList)及Order(需要对订单中的所有订单项进行查询,统计每个订单上所订购的产品的数量)。由此可以得出实现该方法的基本流程是:①从产品目录中取出一个产品→②在订单目录依次查询每张订单→③逐一查询某个订单中的所有订单项。 ①从产品目录中取出一个产品,这对应第1条for…each语句,此时被遍历的对象集合为ProductList。根据试题给出的for…each循环的语法——“for(用来接收集合中元素的变量:需要遍历的对象集合)”和(3)空歌处前半句的“Productproduct:”可以推断出,(3)空缺处应填写ProductList类的对象,而类SalesSystem中的catalog就是ProductList的实例。并且结合图5-16的UML类图可知,类ProductList和Product之间具有聚集关系。依照Java的程序设计规范,引用类的属性时,应使用“this.”属性名的形式。因此(3)空缺处的答案为this.catalog(或catalog)。 ②在订单目录依次查询每张订单,其对应于第2条for…each语句。根据第(3)空缺处的解题思路,可以确定出(4)空缺处应填写OrderList类的对象,即类SalesSystem的属性sales。因此(4)空缺处的答案为this.sales(或sales)。 ③逐一查询某个订单中的所有订单项,其对应于第3条for…each语句。由图5-16类图上可以看出,与类Order具有聚集关系的类是OrderItem。由此可以确定(5)空缺处应填写类OrderItem的对象。由于类SalesSystem中没有这种类型的属性,因此需要在这里定义一个临时对象。另外在if语句中出现了一个标识符item,但是在上下文中并没有出现对它的定义。由此可以推断item的定义应该在(5)空缺处提供。因此(5)空缺处的答案为OrderItem item。
解析
转载请注明原文地址:https://www.kaotiyun.com/show/vMDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
以下属于影响软件可靠性因素的是()。①软件运行剖面②软件规模③软件内部结构④软件的开发方法和开发环境⑤软件的可靠性投入
程序设计语言中(34)。
RUP在每个阶段都有主要目标,并在结束时产生一些制品。在(30)结束时产生“在适当的平台上集成的软件产品”。
网络测试不能解决的问题是______。A.连通性B.丢包C.全表扫描D.延迟
下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,则完成该项目的最少时间为_____________(34)天。活动BD最多可以晚开始______________(35)天而不会影响整个项目的进度。(34)
设有关系模式R(A1,A2,A3,A4,A5,A6),其中:函数依赖集F={A1→A2,A1A3→A4,A5A6→A1,A2A5→A6,A3A5→A6),则___________(21)是关系模式R的一个主键,R规范化程度最高达到____________(
下图中,类Product和ConcreteProduct的关系是(45),类ConcreteCreator和ConcreteProduct的关系是(46)。(46)
某公司采用的软件开发过程通过了CMM2认证,表明该公司(30)。
对高级语言源程序进行编译时,可发现源程序中的(21)错误。
假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为10μs,由缓冲区送至用户区的时间是5μs,系统对每个磁盘块数据的处理时间为2μs。若用户需要将大小为10个磁盘块的Docl文件逐块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费的时间
随机试题
下列活动中有利于发展幼儿动作协调性和灵活性的是()
A.近曲小管上皮细胞B.血管内皮细胞C.集合管上皮细胞D.肾小管周围的成纤维细胞E.系膜细胞肾内内皮素主要来自于
在某医院的急诊室,医生正在抢救一位车祸伤者。由于失血过多,该伤者急需输血。但医院血库恰巧没有了血浆。向血站求救,血站碰巧也没有了经过检测的血浆。为了不延误抢救伤者,医院只好从血站拿了1,200毫升刚刚采集未经检测的血液,将其全部输给伤者。伤者得救了,但却因
诉讼时效进行中,因发生一定法定事由而使已经经过的时效期间统统归于无效,是诉讼时效的( )。
公司规模变动特征和扩张潜力一般与( )不相关,它是从微观方面具体考察公司的成长性。
劳动力市场的就业条件好,工资福利水平高,工作环境良好,职业保障性强,这是()。
在义务教育阶段设置“设计.应用”学习领域主要是培养学生形成()和提高动手能力。
中学生小徐骑车上学时,不小心撞坏了一辆停在路边的轿车后视镜。在车主不在的情况下,他苦等了20分钟,后因急着赶到学校上课,便留下了“联系纸条”。这说明小徐()。
我国法律规定,债权人领取提存物的权利,自标的物被提存之日起5年内不行使而消灭。该5年的期间属于:
设三阶实对称矩阵A的特征值为λ1=8,λ2=λ3=2,矩阵A的属于特征值λ1=8的特征向量为ξ1=,属于特征值λ2=λ3=2的特征向量为ξ2=,求属于λ2=λ3=2的另一个特征向量.
最新回复
(
0
)