摘要:試題七(15分)閱讀下列說(shuō)明、圖以及Java程序,將應(yīng)填入(n)處字句寫在答題紙的對(duì)應(yīng)欄內(nèi)?!菊f(shuō)明】某訂單管理系統(tǒng)的部分UML類圖如圖7-l所示。圖7-1訂單管理系統(tǒng)的部分UML類圖圖7-1中,Product表示產(chǎn)品,ProductList表示所銷售產(chǎn)品的列表,Order表示產(chǎn)品訂單,OrderItem表示產(chǎn)品訂單中的一個(gè)條目,OrderList表示訂單列表,SalesSyste
試題七(15分)
閱讀下列說(shuō)明、圖以及Java程序,將應(yīng)填入(n)處字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某訂單管理系統(tǒng)的部分UML類圖如圖7-l所示。
圖7-1 訂單管理系統(tǒng)的部分UML類圖
圖7-1中,Product表示產(chǎn)品,ProductList表示所銷售產(chǎn)品的列表,Order表示產(chǎn)品訂單,OrderItem表示產(chǎn)品訂單中的一個(gè)條目,OrderList表示訂單列表,SalesSystem提供訂單管理系統(tǒng)的操作接口。各個(gè)類的部分屬性和方法說(shuō)明如表7-1所示。
表7-1
類 |
成員 |
說(shuō)明 |
ProductList |
ArrayList<Product> products |
|
Product |
String code |
產(chǎn)品編號(hào) |
String description |
產(chǎn)品描述 | |
double price |
產(chǎn)品單價(jià) | |
Boolean equals(Object object) |
若兩個(gè)產(chǎn)品相同則返回true,否則返回false | |
OrderItem |
Product product |
訂單項(xiàng)中的產(chǎn)品 |
int quantity |
產(chǎn)品的訂購(gòu)數(shù)量 | |
Product getProduct() |
獲取訂單項(xiàng)中的產(chǎn)品 | |
Order |
ArrayList<OrderItem> items |
訂單中包含的訂單項(xiàng) |
OrderList |
ArrayList<Order> orders |
訂單 |
void addOrder(Order order) |
向訂單列表中添加新訂單 | |
int getNumberOfOrders() |
獲取訂單列表中的訂單總數(shù) | |
SaleSystem |
ProductList catalog |
產(chǎn)品目錄 |
|
OrderList sales |
訂單列表 |
|
void statistic() |
依次統(tǒng)計(jì)產(chǎn)品目錄中每個(gè)產(chǎn)品的訂購(gòu)總量,并打印出每個(gè)產(chǎn)品的編號(hào)、說(shuō)明、訂購(gòu)總量和訂購(gòu)金額 |
可以使用類Java.util.ArrayList<E>來(lái)實(shí)現(xiàn)對(duì)象的聚集關(guān)系,如圖7-1中OrderList與Order之間的聚集關(guān)系。
for-each循環(huán)提供了一種遍歷對(duì)象集合的簡(jiǎn)單方法。在for-each循環(huán)中,可以指定 需要遍歷的對(duì)象集合以及用來(lái)接收集合中每個(gè)元素的變量,其語(yǔ)法如下:
for(用來(lái)接收集合中元素的變量:需要遍歷的對(duì)象集合)
如果要使用for-each循環(huán)來(lái)遍歷對(duì)象集合,那么包含該對(duì)象集合的類必須實(shí)現(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());
}
}
//其余的方法未列出
}
軟考備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬(wàn)道題
已有25.02萬(wàn)小伙伴參與做題