摘要:試題七(15分)閱讀下列說明、圖以及Java程序,將應填入(n)處字句寫在答題紙的對應欄內?!菊f明】某訂單管理系統(tǒng)的部分UML類圖如圖7-l所示。圖7-1訂單管理系統(tǒng)的部分UML類圖圖7-1中,Product表示產品,ProductList表示所銷售產品的列表,Order表示產品訂單,OrderItem表示產品訂單中的一個條目,OrderList表示訂單列表,SalesSyste
試題七(15分)
閱讀下列說明、圖以及Java程序,將應填入(n)處字句寫在答題紙的對應欄內。
【說明】
某訂單管理系統(tǒng)的部分UML類圖如圖7-l所示。
圖7-1 訂單管理系統(tǒng)的部分UML類圖
圖7-1中,Product表示產品,ProductList表示所銷售產品的列表,Order表示產品訂單,OrderItem表示產品訂單中的一個條目,OrderList表示訂單列表,SalesSystem提供訂單管理系統(tǒng)的操作接口。各個類的部分屬性和方法說明如表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 |
產品的訂購數(shù)量 | |
Product getProduct() |
獲取訂單項中的產品 | |
Order |
ArrayList<OrderItem> items |
訂單中包含的訂單項 |
OrderList |
ArrayList<Order> orders |
訂單 |
void addOrder(Order order) |
向訂單列表中添加新訂單 | |
int getNumberOfOrders() |
獲取訂單列表中的訂單總數(shù) | |
SaleSystem |
ProductList catalog |
產品目錄 |
|
OrderList sales |
訂單列表 |
|
void statistic() |
依次統(tǒng)計產品目錄中每個產品的訂購總量,并打印出每個產品的編號、說明、訂購總量和訂購金額 |
可以使用類Java.util.ArrayList<E>來實現(xiàn)對象的聚集關系,如圖7-1中OrderList與Order之間的聚集關系。
for-each循環(huán)提供了一種遍歷對象集合的簡單方法。在for-each循環(huán)中,可以指定 需要遍歷的對象集合以及用來接收集合中每個元素的變量,其語法如下:
for(用來接收集合中元素的變量:需要遍歷的對象集合)
如果要使用for-each循環(huán)來遍歷對象集合,那么包含該對象集合的類必須實現(xiàn)接口
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());
}
}
//其余的方法未列出
}
軟考備考資料免費領取
去領取