

謝慧民的網站 > 課程網站 > 首頁 > 致遠資管_謝慧民_92_2_程式語言(二)JAVA

學期成績(成績已送,完結篇):資一A學期成績、資一B學期成績。

第一、二及三個作業沒交的名單:我將在6月21日送成績,作業未交同學請在送成績前交過來。
- 作業都沒交的當掉的機會是80%,不要以為你期末考的好就會過!
- 以下是重新整理出來的名單:
- 資一A: (學號後三碼)
- HW1:007, 015, 017, 050, 066, 073,
91404111
- HW2:006, 007, 015, 017, 031, 035,
046, 073, 076, 082, 083, 91404111
- HW3:010, 017, 022, 035, 046, 066,
073, 083, 91404111
- 資一B: (學號後三碼)
- HW1:101, 109, 128, 136, 156, 167,
175, 177, 180, 181, 183, 90148, 91182, 91185, 92616
- HW2:109, 131, 149, 167, 168, 170,
90148, 91182, 91185, 92616
- HW3:109, 118, 122, 128, 144, 147,
149, 158, 168, 170, 176, 90148, 91033, 91110, 91182, 91185, 92616

資一A及B期末考提前一周(2004.6.11日):
- 時間:資一B→2004.6.11 Am 9:00-11:30,資一A→2004.6.11 Pm 1:00-3:30。
- 地點:資一B→C310,資一A→C306。
- 範圍:諅峰教科書第17-23章。
- 方式:open book(題型與期中考類似)。

資一A及B作業四(2004.5.28--6.4日前交):
- 寫一個java程式可以計算輸入檔in.zip裡面的英文字母及英文word數目,參考輸出內容如out.zip。你只要用空白及換行區隔word就可以了。程式檔名請用你的學號前面加一個英文字母。輸出檔名請用你的學號加.txt,內容為文字檔。
- 附上Visual C++的參考程式碼:讀入文章計算英文字母次數及比例。

畢業班同學期末考:
- 時間:2004.5.25(星期二) Pm 3:00-5:00。
- 地點:C307 (資四A教室)。
- 範圍:諅峰教科書第17-21章。
- 方式:open book(題型與期中考類似,題目較少)。

資一A及B作業三(2004.5.14--5.28日前交):
- 利用21-26頁的MyNotepad.java修改為視窗裡面有兩個按鈕,一個是開啟檔案,一個是儲存檔案,上方的TextArea叫進來的文字檔可以修改,開啟檔案及儲存檔案請利用16-25頁的FileDialog物件抓取路徑及檔名,丟給FileInputStream或FileOutputStream物件,你也可以使用FileReader或FileWriter取代這個物件進行檔案存取,讀取資料你可以參考Mytype5.java的做法,將讀到的字串用"+"相連,最後設定給TextArea。請在視窗內的Title設定為你的姓名,檔名請用你的學號前面加一個英文字母。作業三結果參考圖連結

資一A及B加分練習題目四及三(2004.5.14日前交):
- 設定一個字串為:"Example;Test;Box;Telephone;Good",透過字串方法利用分隔符號解讀分字串並反轉之。請用第20章範例修改(使用StringBuffer及StringTokenizer的類別去做),讓解讀及轉換後變為下圖結果。


資一A加分練習題目三(DrawString功能表互動):設計四個MenuItem,三個上面的標籤分別為畫線、畫圓、畫矩形,另一個標籤為EXIT,都要設定互動,他們中間用Separator分隔,前三個按選時會在視窗的固定地方畫出標籤上的字,另一個為可以關閉視窗結束程式。
→資一A加分練習三參考結果(2004.4.30--2004.5.7):參考程式碼



畢業班同學期末Take
Home考試程式題(2004.4.27--->2004.5.28前交,作業只做到第二個即可):寫一個傳統跳棋棋盤棋子可以用滑鼠互動移位的Java視窗程式
(資四A及資四B),三方的前排及第二排的子可以設MouseMotionListener互動,參考下圖建構,三方地盤以紅、黃、綠三種顏色為背景,中間以白色為背景,子的顏色如同該方的背景色:
(有關Image圖放入視窗的方法請參考相關書籍或這個範例程式
--->不會產生閃爍的程式)


第二個作業(2004.5.7前交,延到14日):寫一個類似小畫家的程式
(資一A及資一B)
- 請參考教科書17-16頁17-5課後習題第一題的要求(用滑鼠畫圓、矩形、線這三類圖)。
→ 一個未完工可以改變主視窗按鈕顏色的參考程式
→一個未完工可以畫圖的參考程式
- 以此程式為架構修改成可以在按鈕下方作畫,用Panel裝這些按鈕,不需讓按鈕有可移動性,再把此Panel物件與Canvas物件加入Frame物件內,請在畫布上設定滑鼠的Listener,在畫布上按滑鼠左鍵選第一點後,再用滑鼠左鍵選第二點放開後就將圖畫出,此時畫何種圖則需看目前Focus在哪個按鈕來決定。當使用顏色調整視窗調顏色時,必須將顏色值傳回主視窗,讓畫布接下來利用此設定顏色來畫對應的圖形。作業二結果參考圖連結

第二次期中考:(學校安排的期中考週)
- 時間:資一B→2004.4.16 Am 9:00-11:30,資一A→2004.4.16 Am9:00-11:30。題目只出一份,我跟黃明弘老師各負責一個考場,資一A班重修同學如果時間無法配合,可以pm2:00到這兩個教室找我考試(可能在C306教室)。
- 地點:資一B→C310,資一A→C306。
- 範圍:諅峰教科書第13-16章。
- 方式:open book(題型與上學期期末考類似,請參考http://www.hmhsieh.idv.tw/java/)。
- 考完試可以先離開,考試當天不上課。

3.26日術科上機題目:(均使用FocusExample.java去改)
- 資一A: 結果動畫串流檔,原始錄製檔,程式碼下載
- 做一個300 X 300的視窗物件,裡面版面設定為FlowLayout。
- 放三個按鈕名稱為:"button1","button2","button3"。
- Focus在按鈕上時,當滑鼠拖曳Drag按鈕到視窗某點放掉後,這個按鈕就會沿程移動到放掉點處停下來。
- 檔名為你的學號前面加一個英文字母,視窗名稱請填入你的學號。
- 提示:其實只有幾個重要觀念就是:addMouseMotionListener要多加在每個按鈕上,這樣按鈕才會有被拖拉的互動。抓取座標及設定按鈕移動都是在mouseDraged方法裡面定義,最重要的是focus的按鈕要用一個虛擬的按鈕去紀錄這個位置,要移動focus按鈕時只要在虛擬按鈕上用setLocation()方法設定就可以,就等於focus按鈕的位置被改變一樣,因為他們都指向同一個資料位置的緣故。
- 資一B:結果動畫串流檔,原始錄製檔
,程式碼下載
- 做一個300 X 300的視窗物件,裡面版面設定為FlowLayout。
- 放三個按鈕名稱為:"button1","button2","button3"。
- Focus在按鈕上時,當滑鼠點選視窗上的某點的時候,這個按鈕就會移動到該點。
- 檔名為你的學號前面加一個英文字母,視窗名稱請填入你的學號。
- 提示:其實只有幾個重要觀念就是:addMouseListener要加在作用的視窗上,這樣按點視窗才能抓點並移動按鈕。抓取座標及設定按鈕移動都是在mousecClicked方法裡面定義,最重要的是focus的按鈕要用一個虛擬的按鈕去紀錄這個位置,要移動focus按鈕時只要在虛擬按鈕上用setLocation()方法設定就可以,就等於focus按鈕的位置被改變一樣,因為他們都指向同一個資料位置的緣故。
----->已改完,沒有同學做對,有1/6不知如何把人家的程式改成自己的程式,有一半以上的同學還不知道建構子是何物,如何使用來產生物件,適當使用物件指向位置相等,有助於資訊的暫存及抓取,大部分仍不太會用Listener處理互動,加了哪些Listener需要實做哪些方法,這很重要,這一部份學會保證你物件導向程式設計功力大增。(2004.4.9已過停止收件)

公告:今天(3.26)上午資一B考試的程式碼資料存入磁片有一張碟片壞掉(第三排的那一張),另外也有一個檔案無法讀取,以下為需要補交考試程式的學號後三碼:
- 101(黃建翰),156(陳韋宏),160(胡家瀚),167(林建志),176(謝毓珂),183(黃俊誠),185(郭榮豪)----->壞掉的磁片可能的名單(請盡快用e-mail補交,請大家告訴大家)---->已過了期限!(2004.4.9)

資一A加分練習題目二(Focus):設計三個按鈕,當Focus在按鈕上時,上方TextField裡面寫入按鈕名稱。
→資一A加分練習二參考結果(2004.3.19):

→資一A加分練習二截止收件,參考答案:FocusExample1.java

資一B加分練習題目二(Focus):設計三個按鈕,當Focus在按鈕上時,視窗Title更換為按鈕名稱。
→資一B加分練習二參考結果(2004.3.19):

→資一B加分練習二截止收件,參考答案:FocusExample.java

最新消息:我發現有不少同學不會編譯及執行java程式,所以提前在3月26日考第一次期中考(15%),採用術科上機考試,不得離開座位及交談。時間為一個半小時,可以攜帶java_Help資料及相關程式,考的是現在的視窗應用程式設計,跟你的練習及作業有很大的相關。不能使用網路芳鄰交換檔案,請各位熟悉你的工具(最好是blueJ),剛開始你必須要跑一個程式給我看,時間結束時不管有沒有改完要將程式複製到磁片交來,在磁片上備註你的學號,並用你的學號作為檔名。

第一個作業(2004.3.26前交):寫一個計算機程式版面如下:(請參考windows
xp小算盤的功能)
→ 一個類似的計算機參考程式 (在你書上的範例程式目錄B裡面就有)


資一B加分練習題目一:設計六個按鈕用Panel物件裝起來,使用GridLayout排版,連同TextField物件,放入視窗Frame物件中。按鈕C可以清除TextField已有的字串成空字串,其他按鈕按下後加入TextField字串後面。TextField給40個字元,如果超過則設定為空字串。
→資一B練習程式(2004.3.12)結果參考圖:

→資一B加分練習一截止收件,參考答案:AddChar.java

資一A加分練習題目一:設計兩個按鈕如下:按下姓名顯示按鈕在上方的TextField的方塊內寫視窗名字,按下資一A按鈕則在上方的Label寫入按鈕的名稱。
→資一A練習程式(2004.3.5)結果參考圖:(改使用GridLayout比較容易排版)
1.
2.
3.
→資一A加分練習一截止收件,參考答案:SetName.java(資一B練習一的參考程式)


※Applet小時鐘:
小時鐘java-web-start連結 、小時鐘程式碼
9x9乘法程式碼、9x9乘法轉成class、視窗9x9乘法表、九九視窗繪圖
java3dVR 、開發工具JCreator
BlueJ學習:java_doc
,下載點: http://www.bluej.org/ ,help
課程大綱及參考用書,Java的Help(J2sdk1.4.2)
上學期的期末考試題及部分程式碼:
Java2 全方位學習 pdf 投影片:下載Adobe
acrobat reader
版權所有c2007 謝慧民