首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明、图以及Java程序。 [说明] 某订单管理系统的部分UML类图如下图所示。 上图中,Product表示产品,ProductList表示所销售产品的列表,Order表示产品订单,Orderltem表示产品订单中的一个条
阅读下列说明、图以及Java程序。 [说明] 某订单管理系统的部分UML类图如下图所示。 上图中,Product表示产品,ProductList表示所销售产品的列表,Order表示产品订单,Orderltem表示产品订单中的一个条
admin
2008-02-15
64
问题
阅读下列说明、图以及Java程序。
[说明]
某订单管理系统的部分UML类图如下图所示。
上图中,Product表示产品,ProductList表示所销售产品的列表,Order表示产品订单,Orderltem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。各个类的部分属性和方法说明如下表所示。
可以使用类java.util.ArrayList<E>米实现对象的聚集关系,如上图中OrderList与 Order之间的聚集关系。
for-each循环提供了一种遍历对象集合的简单方法。在for-each循环中,可以指定需要遍历的对象集合以及用来接收集合中每个元素的变量,其语法如下:
for(用来接收集合中元素的变量:需要遍历的对象集合)
如果要使用for-each循环来遍历对象集合,那么包含该对象集合的类必须实现接口 java.util.Iterable<T>。
Java程序7-1和Java程序7-2分别给出了类OrderList和方法statistic的Java代码
[Java程序7-1]
import java.util.*;
public class OrderList (1) {
private ArrayList<Order> orders;
public OrderList0 {
this.orders = new ArrayList<Order>();
}
public void addOrder(Order orde0
this.orders.add(order);
}
public Iterator<Order> iterator() {
return (2);
}
public iht getNumberOfOrders0 {
return this.orders.size();
}
}
[Java程序7-21]
import java.u61.*;
public class SalesSystem {
private ProductList catalog;
private OrderList sales;
private static PrintWriter stdOut = new PrintWriter(System.out, true);
public void statistic() {
for (Product product: (3)) {
iht number = 0;
for (Order order: (4)) {
for ((5): order) {
if (produet.equals(item.getProduct()))
number += item. getQuantity();
}
}
stdOut.println(product .getCode() +" "
+ product.getDescription() +" "
+ number +" "+ number * product.getPrice());
}
}
//其余的方法末列出
}
选项
答案
(1) implements Iterable<Order> (2) this.orders.iteratorO,或 orders.iterator() (3) this.catalog, 或 catalog (4) this.sales, 或 sales (5) OrderItem item
解析
本题考查的是Java语言中的java.util.ArrayList<E>和for-each循环。
java.util.ArrayList<E>可以用来实现对象的聚集关系。for-each循环提供了一种遍历对象集合的简单方法。在for-each循环中,可以指定需要遍历的对象集合以及用来接收集合中每个元素的变量,其语法如下:
for(用来接收集合中元素的变量:需要遍历的对象集合)
如果要使用for-each循环来遍历对象集合,那么包含该对象集合的类必须实现接口 java.util.Iterable<T>。由此可以得到第(1)空的答案。因为类OrderList中具有一个类型为 ArrayList<Order>的属性,而且从类图也能看出类OrderList和Order之间具有聚集关系。因此第(1)空应填implementslterable<Order>。
在定义了AnayList<E>的类中,必须实现接口Iterable<Order>中的方法Iterator <Order>∷iterator(),其实现体应为return this.orders.iterator()。因此第(2)空应填this. orders.iterator()。
空(3)~(5)考查的是for-each循环的使用。使用for-each循环时,关键是要确定所遍历的是哪一个对象集合。在类SalesSystem中已经具有两个对象集合,即属性catalog和 sales。要填写空(3)~(5),首先要将方法statistic的功能及实现流程分析清楚。
方法statistic的功能是依次统计产品目录中每个产品的订购总量,并打印出每个产品的编号、说明、订购总量和订购金额。若要统计产品目录中每个产品的订购总量,需要对3个对象集合进行遍历:产品目录(ProductList)、订单列表(OrderList)以及Order (需要对订单中的所有订单项进行查询,统计每个订单上所订购的产品的数量)。由此可以得出实现该方法的基本流程:
①从产品目录中取出一个产品,这对应第一条for-each语句,这时被遍历的对象集合为ProductList。根据for-each循环的语法,第(3)空应填写ProductList类的对象,而类 SalesSystem中的catalog就是ProductList的实例。按照Java的程序设计规范,引用类的属性时,应使用this.属性名的形式。因此第(3)空的答案为this.catalog。其实,从前半句 Product product也可以推断出第(3)空的答案,因为从类图上可以看到ProductList和 Product之间具有聚集关系。
②在订单目录一次查询每张订单,这里对应第一条for-each语句。根据第(3)空的解题思路,可以很容易地确定第(4)空应填OrderList类的对象,即类SalesSystem的属性 sales。因此第(4)空的答案为this.sales。
③逐一查询某个订单中的所有订单项,这里对应第三条for-each语句。由类图上可以看出,与类Order具有聚集关系的类是Orderltem。所以第(5)应填写类OrderItem的对象。类SalesSystem中没有这种类型的属性,在这里定义一个临时对象。另外在if语句中出现了一个标识符item,但是在上下文中并没有出现对它的定义。在这里可以推断item的定义应该在第(5)空提供。因此第(5)空的答案为OrderItem item。
转载请注明原文地址:https://kaotiyun.com/show/PfDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
两个公司希望通过Internet进行安全通信,保证从信息源到目的地之间的数据传输以密文形式出现,而且公司不希望由于在传输节点使用特殊的安全单元而增加开支,最合适的加密方式是(10),使用的会话密钥算法应该是(11)。
针对下面程序段,边界值问题可以定位在(62)1:RemCregea10elementintegerarray2:RemInitializeeachelementto-13:Dimdata(10)As
(61)方法根据输出对输入的依赖关系设计测试用例。
Web应用链接测试不包括(45)。
利用高速通信网络将多台高性能工作站或微型机互连构成机群系统,其系统结构形式属于(5)计算机。
(25)属于系统软件,它直接执行高级语言源程序或与源程序等价的某种中间代码。
某个应用中,需要对输入数据进行排序,输入数据序列基本有序(如输入为1,2,5,3,4,6,8,7)。在这种情况下,采用(40)排序算法最好,时间复杂度为(41)。(41)
软件测试的对象包括__________。①需求规格说明书②概要设计文档③软件测试报告④软件代码⑤用户手册⑥软件开发人员
将图2-1中(1)和(2)空缺名称填写在应的位置。目前在使用ADSL访问Intemet时,要不要收取电话费?
随机试题
王某在法庭上作证,证明他亲眼目睹了李某将赵某打伤的经过,王某的证言属于?()
地面水自净作用中最重要和最活跃的净化是
放射性核素肝胆显像剂延迟显像诊断原发性肝癌的优点是
A.鸡痘病毒B.猪圆环病毒C.马传染性贫血病毒D.草鱼出血热病病毒E.口蹄疫病毒属于具有反转录过程的病毒是
王京为山东省超凡职业学校的行政工作人员。2013年,王京停薪留职,在学校附近买下一处饭店准备经营。为了方便在工商管理部门注册登记和领取营业执照,王京与超凡职业学校的领导达成协议,由超凡职业学校向工商行政管理局申请登记和办理一切手续,王京给超凡职业学校一笔“
下列关于优抚社区工作的描述哪一项是正确的?( )
教学效能感对教师行为有哪些影响?
下列说法中,正确的是:
设f(x)为单调函数,且g(x)为其反函数,又设f(1)=2,f’(1)=,f"(1)=1.则g"(2)=_______.
Americaisoneofmanycountrieswherethestategivesaleg-uptomembersofcertainracial,ethnic,orothergroups【C1】______h
最新回复
(
0
)