2006年5月軟件設(shè)計(jì)師下午試題[6]

軟件設(shè)計(jì)師 責(zé)任編輯:huhua707 2008-08-06

添加老師微信

備考咨詢

加我微信

摘要:試題七(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());
}

//其余的方法未列出
}


[答案討論]

[1]  [2]  [3]  [4]  [5]  [6]  

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)考生以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

軟考備考資料免費(fèi)領(lǐng)取

去領(lǐng)取

!
咨詢?cè)诰€老師!