[JAVA] 作業四
有在逛批兔的應該都知道了,貼一下以免有人沒看到。
---
Dear class,
受到資訊系卡「突然想coding」歌詞「事到如今 終於讓自己說服我自己 教授一定 會
延遲一星期」的啟發,作業四的繳交期限就延遲一星期吧!免得明年有人唱「天殺的歐歐
批」而不是「天殺的微積分」,又或者我被某些壓力太大的同學「戳瞎」?
所以作業四的繳交期限會變成 6/3(星期四)中午,注意到金牌只能在作業使用(期末專
題不能用),所以還有金牌在手的同學,這是你們的最後一次機會。我已經把網頁上有點
小錯誤的 run.sh 作更新了,請參照。和上次作業一樣,這次作業請做成全自動的,因為
助教們不見得知道要按上上下下左左右右AB來發密技……這點我們也有加在網頁上的說明
中。
有幾樣東西,我們特意的沒有講清楚,要留給同學們去問助教、互相討論、或者去找有用
的網站,或者去問邪惡的google的。以下是一些小提示:
(1) 什麼是 run.sh,裡面的東西是什麼意思?
大家可以參考 http://www.twbsd.org/cht/book/ch24.htm。大家可以把 ARENA_CLASS,
PET1_CLASS, ... 等 shell 變數設定好之後,最後的那一行指令就會把這些 shell 變數
傳入 java 當作 main 的輸入變數了。
(2) 什麼是 jar, 可以吃嗎?
大家可以參考 http://www.javatwofriday.com.tw/member/javamag_article
/J030800201.pdf。jar 是 Java Application 的一種標準的包裝和發佈方式,其實就是
把一堆 class 檔(和任何需要的其他檔案)包裝成一個標準的壓縮檔。我們在這裡用來
把作業四中預設提供的 class 檔包裝起來,並定義進入點 (main 所在的 class)。
我們聽過有人吃過果醬,倒是沒聽過有吃果醬瓶(jar)的。
(3) 什麼是 source_file, 可以吃嗎?
應該也不大能吃。javac @lululu 會把 lululu 這個檔裡面每一行列出來的檔案都
compile。這裡我們自訂的名稱是 source_file,不是 lululu。
(4) Class.forName("CSIEProfessor").newInstance() 什麼意思?
找到 CSIEProfessor 這個 class, 用它的空 constructor 來動態 new 一個 instance
並回傳。也就是它的結果等同於
new CSIEProfessor()
但這個是比一般的 new 更動態的 instance 產生,因為 class 的名稱可以動態再由執行
時的字串決定而不用在 compile 時就綁死。
如果 CSIEProfessor 沒有空的 constructor 呢?這下就會有燙手山芋(exception)的產
生了,請小心。
就先這樣啦,大家加油吧!
林軒田
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.204.126.185
推
05/25 17:40, , 1F
05/25 17:40, 1F
推
05/25 23:14, , 2F
05/25 23:14, 2F
推
05/26 20:38, , 3F
05/26 20:38, 3F