Java 程式設計(二) :第三章 二維陣列 上一頁 |
3-3 專題研討
3-3-1 自我挑戰:列印直式唐詩 (A)程式功能:PM3_4.java 請製作一套唐詩列印系統,功能是能將所將輸入的唐詩(五言四句),分別以橫式與直式印出。期望操作介面如下:
(B)製作技巧提示: 本系統需要二維陣列(poem[][];),將詩句裡每一個文字儲存於陣列的元素裡,才可分別以橫式或直式印出。其中包含兩困難點,一者是如何將一串文字輸入,分別取出每一個文字,再存入陣列元素內;另一者是如何轉換陣列的行與列印出(直式列印)。前者,吾人將一串文字直接讀入系統並存放某字串變數(data)內(利用 Scanner 物件),再將該變數宣告成掃瞄物件(Scanner 物件)並指定分隔符號為沒有空格(useDelimiter("")),接著即可掃瞄取出每一個文字,再分別存入陣列內,如圖 3-4 所示。
圖 3-4 poem[][] 陣列儲存內容 唐詩內所有文字都依序存入陣列後。原先是依照一行接一行填入文字,如果一行接一行印出,則如同輸入格式一樣是橫式輸出;如果將行與列倒過來印,則是直式輸出。虛擬碼提示如下:
3-3-2 自我挑戰:大樂透對獎系統 (A)程式功能:PM3_5.java 許多客戶買了大樂透彩券,一直不瞭解開獎辦法,再說彩券購買太多的話,每次對獎都要花費許多時間。彩券公司為了方便客戶對獎,於是在網路上公布一套對獎系統,客戶可輸入當期開獎號碼,或觀察當期號碼,也可輸入所購買號碼,系統會告知是否得獎,或簽中哪一獎,大樂透開獎辦法是:利用氣球吹出 6 個 1~ 49 之間不重複的號碼,另外多一個特別號;中獎種類有:
(1)期望操作介面上有 4 個選項功能如下:
(2)選擇輸入開獎號碼(選擇 1)操作如下:
(3)選擇顯示開獎號碼(選擇 2)的操作如下:
(4)選擇輸入對獎號碼(選擇 3)的操作如下:
(B)製作技巧提示: 吾人將開獎號碼(spaNum[])、特別號(special)、與中獎號碼(winNum[])的陣列、特別號(wining)、以及中獎數目(winSpa)宣告成靜態變數,再利用 4 個函數(方法)來製作整個系統。
圖 3-5 PM3_5 程式架構 虛擬碼提示如下:
(C) 重點說明: (1) 行號 29 ~ 59:判斷是否中獎的 switch(){…} 範圍。 (2) 行號 7 ~ 64:主選單 switch() {…} 範圍。 |
翻轉工作室:粘添壽
Java 程式設計(二) 含物件導向
翻轉電子書系列:
|