摘要:试题七(15分)阅读下列说明、图以及Java程序,将应填入(n)处字句写在答题纸的对应栏内。【说明】某订单管理系统的部分UML类图如图7-l所示。图7-1订单管理系统的部分UML类图图7-1中,Product表示产品,ProductList表示所销售产品的列表,Order表示产品订单,OrderItem表示产品订单中的一个条目,OrderList表示订单列表,SalesSyste
试题七(15分)
阅读下列说明、图以及Java程序,将应填入(n)处字句写在答题纸的对应栏内。
【说明】
某订单管理系统的部分UML类图如图7-l所示。
图7-1 订单管理系统的部分UML类图
图7-1中,Product表示产品,ProductList表示所销售产品的列表,Order表示产品订单,OrderItem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。各个类的部分属性和方法说明如表7-1所示。
表7-1
类 |
成员 |
说明 |
ProductList |
ArrayList<Product> products |
|
Product |
String code |
产品编号 |
String description |
产品描述 | |
double price |
产品单价 | |
Boolean equals(Object object) |
若两个产品相同则返回true,否则返回false | |
OrderItem |
Product product |
订单项中的产品 |
int quantity |
产品的订购数量 | |
Product getProduct() |
获取订单项中的产品 | |
Order |
ArrayList<OrderItem> items |
订单中包含的订单项 |
OrderList |
ArrayList<Order> orders |
订单 |
void addOrder(Order order) |
向订单列表中添加新订单 | |
int getNumberOfOrders() |
获取订单列表中的订单总数 | |
SaleSystem |
ProductList catalog |
产品目录 |
|
OrderList sales |
订单列表 |
|
void statistic() |
依次统计产品目录中每个产品的订购总量,并打印出每个产品的编号、说明、订购总量和订购金额 |
可以使用类Java.util.ArrayList<E>来实现对象的聚集关系,如图7-1中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 OrderList(){
this.orders = new ArrayList<Order>();
}
public void addOrder(Order order){
this.orders.add(order);
}
public Iterator<Order> iterator(){
return(2);
}
public int getNumberOfOrders() {
return this.orders.size();
}
}
【Java程序7-2】
import Java.util.*;
public class SalesSystem {
private ProductList catalog;
private OrderList sales;
private static PrintWriter stdOut = newPrintWriter(System.out,true);
public void statistic() {
for (Product product :(3) ) {
int number = 0;
for (Order order : (4) ){
for( (5) : order){
if (product.equals(item.getProduct()))
number += item.getQuantity();
}
}
stdOut.println(product.getCode() + ″ ″
+ product.getDescription() + ″″
+ number + ″″ + number * product.getPrice());
}
}
//其余的方法未列出
}
软考备考资料免费领取
去领取