

下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一、 概念題1、解釋什么是隊列(queue),什么棧(stack),有何區(qū)別? 隊列是一種特殊的線性表,他按照先進先出的原則存儲數據。棧是一種數據結構,它按照后進先出的原則存儲數據,先進入的數據被壓入 棧底,最后的數據在棧頂,需要讀數據的時候從棧頂開始彈出數據。2、用 C/C+或者 Php,或 Java,給出例子,解釋什么是異常(exception) ?3、簡述 HashMap、HashSe、HashTable 的區(qū)別。Hashtable 類Hashtable 繼承 Map 接口,實現一個 key-value 映射的哈希表。任何非空(non- null )的對象都可作為 key 或者 valu
2、e。HashMap 類HashMap 和 Hashtable 類似,不同之處在于HashMap 是非同步的,并且允許null,即 null value 和 null key,null key 只能有一個。HashSet 類HashSet 繼承 Set 接口。Set 是一種不包含重復的元素的 Collection。4、public、protect 和 private 的區(qū)別是什么?二、 數據庫相關題試設計一個商品相關數據庫,要求包括商品類別、商品的基本信息,并完成下 面的三個查詢。1. 請寫出創(chuàng)建相關表的 SQL 語句。2. 使用標準 SQL 得到 2008 年 1 月份入庫的所有商品信息。3.
3、 使用標準 SQL 得到“ Toy”分類下的所有商品信息。4. 使用標準 SQL 統(tǒng)計出所有包含商品價格低于 100.00 的分類。三、程序填空題。閱讀下列說明、圖以及 Java 程序,將應填入 _(n)_處的字句寫在答題紙的對應欄 內。1、說明某訂單管理系統(tǒng)的部分 UML 類圖如圖 1-1 所示圖 4-1 訂單管理系統(tǒng)的部分類圖圖 1-1 中,Product 表示產 品,ProductList 表示所銷售產品的列表, Order 表示產品訂 單,Orderitem 表示產品訂單中的一個條目, OrderList 表示訂單列 表,SalesSystem 提 供訂單管理系統(tǒng)的操作接口。各個類的部
4、分屬性和方法說明如表1-1 所示。表 1-1類成員說明ProductListArrayList(Product) productsProduct StringString code產品編號descripti on產品描述double price產品單價Boolea n equals(Object object)右兩個產品相冋則返回true,否則返回 falseOrderltemProduct product訂單項中的產品int qua ntity產品的訂購數量Product getProduct()獲取訂單項中的產品OrderArrayList(Orderlten) items訂單中包含的訂單
5、項OrderListArrayList(Order)orders訂單void addOrder(0rder order)向訂單列表中添加新訂單in t getNumberOfOrders()獲取訂單列表中的訂單總數SalesSystemProductList catalog產品目錄OrderList sales訂單列表void statistic()依次統(tǒng)計產品目錄中每個產品的訂購總量,并打印 出每個產品的編號、說明、訂購總量和訂購金額可以使用類 java . util。ArrayList來實現對象的聚集關系,如圖4-1 中 OrderList 與Order 之間的聚集關系。for-each
6、循環(huán)提供了一種遍歷對象集合的簡單方法。在for-each循環(huán)中,可以指定需要遍歷的對象集合以及用來接收集合中每個元素的變量,其語法如 下: for(用來接收集合中元素的變量:需要遍歷的對象集合),如果要使用 for-each 循 環(huán)來遍歷對象集合,那么包含該對象集合的類必須實現接口java.util.lterable。Java 程序 1-1 和 Java 程序 1-2 分別給出了類 OrderList 和方法 statistic 的 Java 代碼。public OrderListO this.orders = newpublic void addOrder(Order order)。publ
7、ic Iterator iteratorOpublic int getN un berOfOrders() retur n Java 程序 1-2 import java.util.* ; public classSalesSystem private ProductList catalog ;private OrderList sales ;private static PrintWriter stdOut = new PrintWriter(System.out, true)。public voidstatistic()for(Product product : _(3)_int numb
8、er = 0 ;for(Order order : _ for(_ :order)ifproduct.equals(item.getProduct()nu mbe r +=item.getQua ntity() ;stdOut.pri ntln (product.getCode() + + product.getDescriptio n() + + number + + number *product . getPrice() ;其余的方法未列出 2、說明傳輸門是傳輸系統(tǒng)中的重要裝置。傳輸門具有Open (打開)、Closed (關閉)、Opening (正在打開)、StayOpen (保持打
9、開)、Closing (正在關閉) 五種狀態(tài)。觸發(fā)狀態(tài)的轉換事件有 click、complete 和 timeout 三種。事件 與其相應的狀態(tài)轉換如圖 2-1 所示。圖 2-1 傳輸門響應事件與其狀態(tài)轉換圖下面的Java 代碼 1與Java 代碼 2分別用兩種不同的設計思路對傳輸 門進行狀態(tài)模擬,請?zhí)钛a代碼中的空缺。Java 程序 1-1 import java.util.*public class OrderList _(1)_ privateArrayList orders。ArrayList(Order) 0。this.orders, add (order)return _(2)_th
10、is.orders. size()。Java 代碼 1public class Door public static final int CLOSED = 1。 public staticfinal int OPENING = 2。public static final int OPEN = 3。publicstatic final int CLOSING = 4。public static final int STAYOPEN = 5。private int state = CLOSED。/定義狀態(tài)變量,用不同的整數表示不同狀態(tài) private voidsetState(int state)
11、this.state = state。/ 設置傳輸門當前狀態(tài) public void getState()此處代碼省略,本方法輸出狀態(tài)字符串,/例如,當前狀態(tài)為 CLOSED 時,輸出字符串為” CLOSEDpublic void click() /發(fā)生 click事件時進行狀態(tài)轉換if (1) ) setState(OPENING)。else if (2) ) setState(CLOSING)。else if (3) ) setState(STAYOPEN)。/發(fā)生 timeout 事件時進行狀態(tài)轉換public void timeout() if (state = OPEN)setSta
12、te(CLOSING)。public void complete() /發(fā)生 complete 事件時進行狀態(tài)轉換if (state = OPENING) setState(OPEN) 。else if (state = CLOSING) setState(CLOSED) 。public static void main( Stri ng args)Door aDoor = new Door()。aDoor.getState()。aDoor.click()。aDoor.getState()。aDplete()。aDoor.getState()。aDoor.click()。aDoor.getSt
13、ate()。aDoor.click()。aDoor.getState()。return。Java 代碼 2public class Door public final DoorState CLOSED = new DoorClosed(this) 。public final DoorState OPENING = new DoorOpe nin g(this)。public final DoorState OPEN = new DoorOpe n(this) 。public final DoorState CLOSING = new DoorClosi ng(this)。public fina
14、l DoorState STAYOPEN = new DoorStayOpe n( this)。private DoorState state = CLOSED 。/ 設置傳輸門當前狀態(tài) public void setState(DoorStatestate) this.state = state。publicvoid getState() /根據當前狀態(tài)輸出對應的狀態(tài)字符串System.out.pri ntln (state.getClass().getName()。public void click()( 4) 。 /發(fā)生 click事件時進行狀態(tài)轉換public void timeout
15、()(5)。/ 發(fā)生 timeout 事件時進行狀態(tài)轉換public void complete()(6)。/ 發(fā)生 complete 事件時進行狀態(tài)轉換public static void main( Stri ng args)Door aDoor = new Door()。aDoor.getState()。aDoor.click()。aDoor.getState()。aDplete()。aDoor.getState()。aDoor.timeout()。aDoor.getState()。return。public abstract class DoorState / 定義所有狀態(tài)類的基類protected Door door 。public Do
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論