阅读下列说明、图及Java程序,将应填入 (n) 处的字句写在对应栏内。
[说明]
某订单管理系统的部分UML类图如图18-4所示。
在图18-4中,Product表示产品,ProductList表示所销售产品的列表,Order表示产品订单,OrderItem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供
订单管理系统的操作接口。各个类的部分属性和方法说明如表18-3所示。
可以使用类Java.util.ArrayList<E>来实现对象的聚集关系,如图18-4中OrderList与Order之间的聚集关系。
for-each循环提供了一种遍历对象集合的简单方法。在for-each循环中,可以指定需要遍历的对象集合,以及用来接收集合中每个元素的变量。其语法如下:
for(用来接收集合中元素的变量:需要遍历的对象集合)
如果要使用for-each循环遍历对象集合,那么包含该对象集合的类必须实现接口Java.util.Iterable<T>。
Java程序1和Java程序2分别给出了类OrderList和方法statistic()的Java代码。
[Java程序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.slze();
[Java程序2]
import Java.util. *;
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) )
int number=0;
for(Order order: (4) )
for( (5) :order)
if (product.equals(item.getProduct()))
number+=item.getQuantity();
stdOut.printIn(product.getCode()+" "
+product.getDescription() + " "
+number+" "+number *product.getPrice());
//其余的方法未列出