Microsoft Word - Greenfoot-高慧君老師

Size: px
Start display at page:

Download "Microsoft Word - Greenfoot-高慧君老師"

Transcription

1 壹 課程說明 單元名稱 互動遊戲設計 : 使用 Greenfoot Greenfoot 提供給想學習 Java 語言的學生一個很好的入門環境, 它是針對那些想撰寫遊戲的人所設計的一個功能完整的開發環境, 特別適合 14 歲以上的人單元摘要學習 本單元以 Greenfoot 軟體來實作 Java 程式語言的概念, 其內容涵蓋 : 物件導向程式語言基本概念及互動遊戲創作 設計者高慧君教師 ( 台北市立南港高中 ) 1. 能理解程式的基本結構學習目標 2. 能理解物件導向的概念 3. 能進行互動性遊戲設計 1. 變數與陣列 2. 運算式課綱範圍 3. 選擇敘述 4. 重複敘述教學節數 20 節 1. 電腦解題概念先備知識 2. 程式邏輯概念 ( 建議使用 Scratch 教學 ) 3. 代數 1. 上機實作評量方法 2. 筆試 1. Greenfoot 官網 2. Greenfoot 教學影片 參考資源 3. Michael Kölling (2009). Introduction to Programming with Greenfoot. Object-Oriented Programming in Java with Games and Simulations. PEARSON Education.

2 貳 教學活動計畫 教學活動時間說明 Greenfoot 簡介 1. 操作環境介紹 2. 物件與類別 3. 物件基本概念 4. 呼叫物件的方法 5. 程式的執行 100 分 1. Greenfoot 操作環境介紹 場景 類別關係圖 執行控制列 2. 物件 (object) 與類別 (class) Java 是物件導向程式語言, 而類別與物件是物件導向程式語言的基礎, 類別用來描述物件 Java 應用程式是由類別庫所組成, 每個 Java 應用程式都至少含一個以上的類別 從 類別關係圖 可以看出 : (1) 目前這個應用程式包含那些類別 (2) 這些類別之間的關係 開啟範例程式 Wombat 以上圖的 Wombat ( 袋熊 ) 類別為例, 它用來描述袋熊這類物件的行為和特性 類別定義完成後, 就可以根據類別來產生物件, 根據類別所產生的物件, 稱為實體 (instance) 根據 Wombat 類別來產生袋熊物件 : (1) 指向 Wombat 並按下滑鼠右鍵

3 (2) 從快顯功能表中選取 new Wombat(), 此時螢幕上會出現一隻袋熊 (3) 可將袋熊拖曳至場景中的任何位置 3. 物件基本概念類別 (class) 定義物件的特性與行為, 根據類別所建立的物件就會具備這些特性與行為 以 wombat 物件為例, 牠具備了 move turnleft 等行為 ( 在物件實體上按右鍵可檢視物件所具備的特性與行為 ) 類別中所定義的行為稱為方法 (method) 呼叫 wombat 物件的 move( ) 方法, 多試幾次看看這個方法的功能是什麼? 呼叫 wombat 物件的 turnleft() 方法 4. 物件的方法 (method) 方法前面的關鍵字, 如 void boolean int 等, 代表方法的傳回值型態, 即這個方法被呼叫時, 會傳回什麼型態的資訊 void 代表這個方法沒有傳回值 int 代表這個方法將傳回一個整數 boolean 代表這個方法將傳回一個布林值 (1) 試著呼叫 canmove( ) 方法, 系統將以訊息方塊傳回相關資訊 (2) 試著呼叫 canmove 方法數次, 觀察什麼情況會傳回 false?

4 (3) 請建立一些葉子, 試著讓袋熊吃掉一些葉子, 然後再呼叫 getleaveseaten() 方法, 觀察此方法的傳回值 方法名稱後面小括弧內的資訊, 稱為參數列 void act( ): 代表呼叫時, 不需傳遞額外資訊 void setdirection(int direction): 代表呼叫時, 需傳一個整數資料給 setdirection 這個方法, 而且 setdirection 方法內部以 direction 這個名稱來代表所接收的參數值 5. 程式的執行由 執行控制列 也可以呼叫物件中的方法 遊戲實作 (1) 1. 繼承關係 2. 編輯程式碼 3. 查看類別中所定義的方法 4. 單向選擇結構 (1) 按 單步執行 按鈕, 會呼叫每一個物件的 act 方法一次 (2) 按 執行 按鈕, 會重複呼叫每一個物件的 act 方法 如果把整個 Greenfoot 的場景視為一個微世界 (microworld), 那麼微世界中的每一個物件就像是演員, 我們程式要操弄的也就是這些演員間的互動方式 放到微世界中的物件 ( 演員 ) 都有 Act 方法 不同類別物件的 Act 方法都各自定義自己的程式功能, 所以執行不同類別物件的 Act 方法將產生不同的結果 以袋熊的 Act 方法為例, 其程式功能如下 : (1) 若袋熊剛好坐在樹葉上, 那就吃了樹葉 (2) 若袋熊沒遇到邊界, 那就往前走 ; (3) 若遇到邊界就左轉 建立幾隻袋熊和樹葉, 然後按 單步執行 按鈕, 觀察這些袋熊的行為 按下 執行 按鈕, 觀察產生了什麼結果? 6. 開啟範例檔案 asteroids1 並探索之 100 分 1. 開啟範例檔案 crab

5 上圖為專案中所包含的類別 : (1) Actor 是多數專案均會具備的類別 (2) Animal 與 Actor 間的連結符號代表繼承, 所以 Animal 類別繼承 Actor 類別 同樣地,Crab 繼承 Animal, 繼承階層 (level) 可跨越多個, 故可說 Crab 繼承 Actor 2. 讓螃蟹往前移動 查看 Crab 類別的原始程式碼 (1) Crab extends Animal: 代表 Crab 繼承 Animal (2) 目前整個類別僅含一個空的方法, 即 act 方法 public void act( ): 代表方法的簽名 (signature) (3) 表示此方法的主體敘述 請在當中加入 move( ); (4) 按下 編譯全部 重新編譯 (5) 在世界中建立一個 Crab 物件, 分別按下 單步執行 及 執行 按鈕並觀察 Crab 的行為 (6) 在世界中建立多個 Crab 物件, 分別按 單步執行 及 執行 按鈕, 觀察這些 Crab 物件的行為 3. 讓螃蟹轉彎 (1) Animal 類別中所定義的另一個與螃蟹動作有關的方法 : void turn (int angle) angle 的值可介於 0~359 之間, 代表螃蟹右轉的角度 (2) 移除 move( ); 改成呼叫 turn( );, 試著傳遞各種不同的值給 turn 方法

6 (3) 方法的傳入值稱為參數 (parameter) 4. 讓螃移動加上轉彎 在 Act 方法中先呼叫 move( ), 再呼叫 turn( ) 電腦會先執行 move 方法, 再執行 turn 方法, 即指令依由上而下的順序執行, 但因 move 及 turn 動作很快, 視覺效果上會以為同時發生 5. 讓螃蟹遇到邊界能自動轉彎 查看 Animal 類別中有哪些方法可用? 以 Document 的模式檢視 (1) 建立一隻螃蟹, 從選單選取 atworldedge 方法, 傳回值是什麼? (2) 建立一隻螃蟹並將螃蟹移到邊界, 再從選單選取 atworldedge 方法, 傳回值是什麼? (3) 修正程式, 讓螃蟹遇邊界時轉彎

7 程式語法 : 單向選擇結構 if (condition) statements; 遊戲實作 (2) 1. 取亂數 2. 條件判斷 3. 新建類別 4. 新建方法 5. 使用鍵盤控制 6. 播放音效 100 分 1. 開啟範例檔案 crab 2. 讓螃蟹在前進過程也能隨機轉彎 (1) 要讓螃蟹能夠隨機轉彎, 需使用到取隨機數字的功能, 這個功能定義在 Greenfoot 這個類別的 getrandomnumber 方法中 (2) 從功能表 幫助 /Greenfoot 類別說明文件 可檢閱 Greenfoot 這個類別的內容 Greenfoot.getRandomNumber(n); 這個方法呼叫將傳回 0 n-1 間的整數 (3) 如果要讓螃蟹在行進過程中, 有 10% 機率需要右轉 5 度, 則條件判斷式的型式如下 : if (something-is-true) turn (5); 其中 (something-is-true), 條件式成立的機率是 10% 如果要讓螃蟹在行進過程中, 有 10% 的機率需要右轉 5 度, 程式實作方式為取 0~99 間的亂數, 且當所取得的亂數值介於 0~9 時, 則讓螃蟹右轉 5 度 : if (Greenfoot.getRandomNumber(100) < 10)

8 turn(5); (4) 改善螃蟹固定右轉 5 度的問題 turn(greenfoot.getrandomnumber(45)); 先呼叫亂數取得 0~44 之間的值, 再將所取得的值傳給 turn 方法 3. 增加螃蟹可以吃的蟲 (1) 在 Animal 類別中, 按下滑鼠右鍵, 從選單中選取 新建子類別 (2) 輸入類別名稱 Worm ( 注意 : 類別名稱的命名慣例以大寫字母開始 ), 選取圖片 worm.png 後, 按下 ok 4. 如何讓螃蟹可以看見並且吃掉的蟲 (1) 以 Document 模式檢視 Animal 類別內容時, 將看到以下兩個方法 : 用於判斷是否遇見特定型態的物件 boolean cansee (java.lang.class clss)

9 用於吃掉指定型態的物件 void eat (java.lang.class clss) (2) 將以下程式碼加到 Crab 類別 act 方法中 : if ( cansee(worm.class)) eat (Worm. class) ; (3) 試著放幾隻蟲蟲及螃蟹到 World 中, 並觀螃蟹遇蟲蟲時, 是否會吃掉蟲蟲? 5. 將螃蟹吃蟲的功能包裝成一個新的方法 把所有功能都定義在同一個方法中, 並不是一個好的程式設計方式, 我們會將個別功能定義在不同方法中, 再從 act 方法呼叫對應的方法 例如 : 我們可以將前面 遇蟲蟲時, 將它吃掉 的功能定義在另一個名為 lookforworm 的方法中, 再從 act 呼叫該方法, 完成後程式片段如下 : 6. 將螃蟹轉彎的功能包裝成 randomturn 方法 7. 增加會吃螃蟹的龍蝦 為了讓遊戲更有趣, 所以增加會吃螃蟹的龍蝦到專案中, 我們希望龍蝦追逐螃蟹, 而螃蟹追逐蟲蟲, 試著將螃蟹的行為複製給龍蝦 當螃蟹被龍蝦抓到時, 結束遊戲 Greenfoot.stop(); 8. 用鍵盤的方向鍵控制螃蟹的移動, 藉以躱開龍蝦並捕食蟲蟲 在 Greenfoot 類別中有一個方法, 用於偵測鍵盤按下的事件, 如下 :

10 static boolean iskeydown(string key) (1) 這個方法是一個靜態方法 (2) 傳回值是 boolean, 所以可結合 if-statement 中的條件式 (3) 接受一個字串型態的參數判斷使用者是否按下左鍵 Greenfoot.isKeyDown( left ); 判斷使用者是否按下右鍵 Greenfoot.isKeyDown( right ); 在螃蟹的 act 中增加以下的程式碼 : if (Greenfoot.isKeyDown("left")) turn(5); if (Greenfoot.isKeyDown("right")) turn(-5); 遊戲實作 (3) 1. 建立起始物件 2. 實體變數 3. 建構子 9. 加入音效, 增加遊戲的趣味性 當龍蝦吃掉螃蟹, 或螃蟹吃掉蟲蟲時, 播放適當的音效 (1) 從 Greenfoot 類別中, 找到與聲音播放有關的方法 static void playsound(java.lang.string soundfile) (2) 在專案 sounds 資料夾中, 找到兩個有關的聲音檔 au.wav 及 slurp.wav (3) 找到龍蝦吃掉螃蟹那一段程式, 增加音效 Greenfoot.playSound( slurp.wav ); (4) 找到螃蟹吃掉蟲蟲那一段程式, 增加音效 Greenfoot.playSound( au.wav ); 100 分 1. 啟動專案時, 自動建立起始物件 當啓動專案時, 系統將自動建立整個微世界場景 ( 即 CrabWorld 物件 ), 但使用者必需自行建立當中的角色 我們希望修正 CrabWorld class 的內容, 讓專案一開始啟動時, 也能在微世界場景中自動建立一些角色 開啟 CrabWorld 類別

11 試著在 CrabWorld 建構子中加入以下指令 : addobject(new Crab(), 150, 100); 其中 addobject 是定義在 World class 中的一個方法, 其簽名 (signature) 為 : void addobject(actor object, int x, int y) 試著增加 5 隻蟲蟲在隨機的位置上 試著增加 3 隻龍蝦在隨機的位置上 2. 讓螃蟹走路時, 腳也跟著移動 crab.png: 腳往外 crab2.png: 腳往內 Greenfoot 中, 定義了一個與圖形有關的類別 : GreenfootImage (1) 建立 GreenfootImage 物件 new GreenfootImage(" crab2. png") 註 :crab2.png 這張圖片必需存放在專案資料夾下的 images 子資料夾 (2) Greenfoot 中每一個 Actor 都有自己的 image 每個 Actor 被建立時, 都會從類別取得預設的 image; 所以根據同一類別所建立的物件, 一開始都擁有相同的 image, 但這並不表示同一類別的所有物件都要使用相同的 image, 每一個 actor 都可以在任何時間更換代表自身的 image (3) 從 Actor 類別中, 找到與設定圖片有關的方法 : void setimage(greenfootimage image) void setimage(java.lang.string filename) (4) 建立實體變數來儲存螃蟹的兩張圖片

12 遊戲實作 (4) 1. 抽象化 2. 重複敘述 位置 : 類別內部一開始的位置, 方法成員之前宣告的語法 : private variable-type variable-name; 使用範例 : 我們希望每一隻螃蟹都能儲存行進過程所要切換的兩張圖片, 所以在 Crab 內部宣告兩個資料成員如下 : private GreenfootImage image1; private GreenfootImage image2; (5) 建立 Crab 建構子 建立兩個 GreenfootImage 物件, 並指定給 image1 及 image2 兩個變數 設定螃蟹的起始圖片為 image1 public Crab() image1 = new GreenfootImage("crab.png"); image2 = new GreenfootImage("crab2.png"); setimage(image1); (6) 建立螃蟹走路的動畫 經由在兩張圖片間規律地切換, 可以營造螃蟹走路時腳也跟著動的視覺效果 if (getimage() == image1) setimage(image2); else setimage(image1); 3. 計算螃蟹吃掉的蟲蟲數目 (1) 在 Crab 類別中宣告以下資料成員 : private int wormseaten; (2) 在 Crab 建構子中設定起始值為 0 (3) 當螃蟹吃掉蟲蟲時, 累加 wormseaten (4) 如果吃掉 3 隻蟲蟲, 則遊戲結束 100 分 1. 開啟範例檔案 Piano 2. 觀察 Piano 類別的程式碼內容

13 3. 陣列 3. 觀察 Key 類別的程式碼內容 4. 按下 G 鍵時, 切換琴鍵的圖片並播放聲音 public void act() if (Greenfoot.isKeyDown("g")) setimage("white-key-down.png"); Greenfoot.playSound("3g.wav"); else setimage("white-key.png"); 5. 請指上述程式碼的缺點, 並修改之 當按下 G 鍵不放時, 會一直播放聲音 改進方法 : 使用 isdown 變數來標記 private boolean isdown; public void act()

14 if (!isdown && Greenfoot.isKeyDown("g")) setimage("white-key-down.png"); Greenfoot.playSound("3g.wav"); isdown = true; if ( isdown &&!Greenfoot.isKeyDown("g")) setimage("white-key.png"); isdown = false; 為了解決當放開 g 鍵時,setImage 和 playsound 只執行一次, 而非反覆執行, 在 Key class 中定義一個資料成員 isdown, 用於記錄琴鍵目前是否處於被按下的狀態 : 被按下時是 true 放開時是 false 我們必需判斷以下兩個情況 (1) 琴鍵處於正常狀態而使用者按下 g 鍵 : 使用者剛按下 g 鍵 (2) 琴鍵處於按下狀態而使用者未按 g 鍵 : 使用者剛釋放 g 鍵 6. 產生多個琴鍵, 並指定到不同的音效 (1) 目前這個專案的問題 : 按下鍵盤上的 g 後, 所有的琴鍵都做出相同的回應 問題的原因 : 程式中將對應的鍵盤按鍵及所要播放的聲音檔寫死 (2) 抽象化 (Abstraction) 的程式設計概念 : 程式不只是用於解決特定問題, 而是要能夠解決一般性的問題 例如 : 我們不能設計一個僅能找 1764 的平方根程式, 而應設計可找任意數平方根的程式 同樣地, 我們不能設計一個只能 play a sound 的程式, 而應設計一個可以 play 各個音階的程式 (3) 在抽象化這種設計概念之下, 不同的 Key 物件需對應不同的鍵盤按鍵 ; 同時, 不同的 Key 物件被按下時, 要能播放對應音階 程式作法 : 在 Key 類別中定義兩個資料成員, 分別用於記錄 Key 物件所要回應的鍵盤按鍵, 以及被按下時所要播放的聲音檔 型態 :String

15 名稱 :key 及 sound 在 Key 類別中定義兩個資料成員 private String key; private String sound; 修改建構子, 使得建立物件時, 可以設定兩個資料成員的初值 public Key(String keyname, String soundfile) key = keyname; sound = soundfile 建構子接受兩個參數, 即建立物件時, 需傳遞兩個參數給建構子, 建構子中利用這兩個參數來設定物件的初始狀態 (4) 在場景中自動新增 3 個琴鍵 addojbect(new Key( g, 2a.wav, 300,180); addojbect(new Key( h, 2b.wav, 450,180); addojbect(new Key( j, 2c.wav, 600,180); (5) 修改 Key 類別的 act 方法 public void act() if (!isdown && Greenfoot.isKeyDown(key)) setimage("white-key-down.png"); Greenfoot.playSound(sound); isdown = true; if ( isdown &&!Greenfoot.isKeyDown(key)) setimage("white-key.png"); isdown = false; 7. 自動建立多個白色琴鍵 (1) 為讓所有白鍵在同一個高度, 所有琴鍵的 y 座標均為 180, 而 x 座標則加上琴鍵的寛度 63 (2) 在 Piano 類別的建構子中撰寫程式碼 int i = 0; while (i < 12) addobject(new Key("g","2a.wav"), 54+i*63, 180); i = i + 1;

16 遊戲實作 (5) 1. 滑鼠事件 2. 物件碰撞 100 分打磚塊 (3) 上述程式碼每個都對應到 g 按鍵及 2a.wav 為了讓不同的琴鍵有不同的按鍵對應及音效, 我們將使用陣列來記錄這些對應關係 private String[] whitekeys = "a","s","d","f","g","h","j","k","l",";","'","/" pravate String[] whitenotes = "3c","3d","3e","3f","3g","3a","3b","4c","4d","4e","4f"," 4g" 修改 Piano 建構子的程式碼 int i = 0; while (i < 12) Key key = new Key(whiteKey[i], whitenotes[i]+.wav ); addobject(key, 54+i*63, 180); i = i + 1; 新增演員 Ball 類別, 設定圖像 ball.png 新增演員 Brick 類別, 設定圖像 brick.png 新增演員 Paddle 類別, 設定圖像 paddle.png 新增場景 BrickWorld 類別, 設定圖像 space1.jpg 建立微世界及物件 修改 BrickWorld 程式碼 : import greenfoot.*; public class BrickWorld extends World public static int SIZEX = 400; public static int SIZEY = 300;

17 public BrickWorld() super(sizex, SIZEY, 1); addobject(new Ball(), 200, 150); addobject(new Paddle(), 200, 280); for (int i=0; i< 8; i++) for (int j=0; j< 4; j++) addobject(new Brick(), 50+i*40, 20+j*30); 讓球會移動, 遇到邊緣會反彈 修改 Ball 程式碼 : import greenfoot.*; public class Ball extends Actor private int motionx=2; private int motiony=2; public void act() int newx; int newy; newx = getx() + motionx; newy = gety() + motiony; if (newx > BrickWorld.SIZEX) motionx = -2; else if (newx < 0) motionx = 2; if (newy > BrickWorld.SIZEY) motiony = -2; else if (newy < 0) motiony = 2; setlocation(newx, newy);

18 讓球碰到磚塊會打掉磚塊 新增 Ball 程式碼 act() Actor brick = getoneintersectingobject(brick.class); if (brick!= null) motiony = -motiony; getworld().removeobject(brick); 讓板子能跟著滑鼠左右移動修改 Paddle 程式碼 : import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) public class Paddle extends Actor public void act() MouseInfo mouse = Greenfoot.getMouseInfo(); if (mouse!= null) setlocation(mouse.getx(), gety()); 若球遇到下方邊緣, 則遊戲結束 修改 Ball 程式碼 : if (newy > BrickWorld.SIZEY) Greenfoot.stop(); else if (newy < 0) motiony = 2; 若打完所有磚塊, 則遊戲結束 修改 Ball 程式碼 : private int brickhit=0; Actor brick = getoneintersectingobject(brick.class); if (brick!= null) motiony = -motiony; brickhit++; getworld().removeobject(brick);

19 遊戲實作 (6) 1. 滑鼠事件 2. 列舉 3. ArrayList 套件 4. Collections 套件 if (brickhit==32) Greenfoot.stop(); 200 分撲克牌發牌 準備 1 張撲克牌的底圖 :blue.png 準備 52 張撲克牌的圖片 :1.png~52.png 新建場景類別 Table 設定圖像 corkboard.jpg 新建演員類別 Card 新建演員類別 Deck 設置圖像 blue.png 編輯 Table 的程式碼 importgreenfoot.*; public class Table extends World private Deck deck; public Table() super(600, 400, 1); deck = new Deck(); addobject(deck, 100, 100); public void act() if (Greenfoot.mouseClicked(deck)) Card card = new Card(); card.setimage((1+greenfoot.getrandomnumber(52))+".png"); addobject(card, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight()));

20 在上例中, 我們使用亂數來取卡片, 這樣做會有重複發同一張牌的可能性 所以接下來我們要用陣列串列 (ArrayList) 來儲存 52 張牌 增加 Card 類別的程式碼 privateint value; public Card(int value) this.value = value; publicintgetvalue() returnthis.value; 增加 Deck 類別的程式碼 importjava.util.arraylist; privatearraylist<card> cards; public Deck() cards = new ArrayList<Card>(); for (int i=0; i< 52; i++) cards.add(new Card(i+1)); public Card getcard() if(getsize()==0) return null; Card card = cards.get(0); cards.remove(card); return card; publicintgetsize() returncards.size();

21 修改 Table 類別的程式碼 public void act() if (Greenfoot.mouseClicked(deck) &&deck.getsize()>0) Card c = deck.getcard(); c.setimage(c.getvalue()+".png"); addobject(c, Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight())); 在上例中, 我們會依序發出 52 張牌, 但實務上, 我們在發牌前會先做洗牌的動作, 我們可以匯入 Collections 套件, 來做打亂陣列串列內容的動作 在 Deck 類別中增加程式碼 : importjava.util.collections; 在 Deck 的建構子中增加程式碼 : Collections.shuffle(cards); 我們使用數字 1~52 來表示 52 張牌, 雖然可識別出不同的牌, 可是我們從數字無法得知該張牌的花色及點數, 接下來, 我們要改用列舉 (enumeration) 的方式, 來儲存不同的牌面資訊, 並對應到相對的圖檔 複製 cards 圖片到專案 images 資料夾中 在 Card 類別中新增程式碼 : /** The suits a card can belong to */ publicenum Suit CLUBS, HEARTS, SPADES, DIAMONDS; /** The numbers a card can take */ public enum Value ACE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING; private Suit suit; private Value value; 修改程式碼 : public Card(Value value, Suit suit) this.value = value; this.suit = suit; draw();

22 遊戲實作 (7) 1. 計分板 protected void draw() String filename = "images/cards/"; filename += value; filename += suit; filename += ".png"; filename = filename.tolowercase(); setimage(new GreenfootImage(fileName)); 在 Deck 類別中修改程式碼 : public Deck() cards = new ArrayList<Card>(); for(card.suit suit : Card.Suit.values()) for(card.value value : Card.Value.values()) cards.add(new Card(value, suit)); Collections.shuffle(cards); 最後, 當我們發完所有的 52 張牌後, 就把發牌的物件刪除, 讓使用者不能再發牌 在 Deck 類別中修改程式碼 : public Card getcard() if(getsize()==0) return null; Card card = cards.get(0); cards.remove(card); if(getsize()==0) getworld().removeobject(this); return card; 200 分企鵝冒險

23 新增場景 Scene 類別 新增演員 Cliff 類別 建構子 public Cliff(boolean flip) if (flip) getimage().mirrorhorizontally(); 新增演員 Cloud 類別 新增演員 Pengu 類別 新增演員 Penga 類別 新增演員 Fish 類別 修改場景 Scene 類別, 建立起始畫面 public Scene() super(750, 500, 1); addobject ( new Cliff(false), 85, 441); addobject ( new Cliff(true), 665, 441); addobject ( new Cloud(), 369, 315 ); addobject ( new Pengu(), 66, 244 ); addobject ( new Penga(), 710, 244 ); addobject ( new Fish(), 375, 120); addobject ( new Fish(), 500, 120); addobject ( new Fish(), 250, 120); 讓雲會左右移動, 修改 Cloud 類別 : import greenfoot.*; public class Cloud extends Actor

24 private int speed = 2; public void act() setlocation ( getx() + speed, gety() ); if (getx() <= 250 getx() >= 500) speed = -speed; 用方向鍵讓企鵝會左右移動, 修改 Pengu 類別 : public void act() if (Greenfoot.isKeyDown("left")) setimage("pengu-left.png"); setlocation ( getx() + 3, gety() ); if (Greenfoot.isKeyDown("right") ) setimage("pengu-right.png"); setlocation ( getx() - 3, gety() ); 讓企鵝會向下掉落 修改 Pengu 類別 : private int vspeed = 0; public boolean onground() Object under = getoneobjectatoffset(0, 100/2-8, null); return under!= null; public void setvspeed(int speed) vspeed = speed;

25 public void fall() setlocation ( getx(), gety() + vspeed); vspeed = vspeed + 2; 新增 act() 程式碼 : if (onground()) setvspeed(0); else fall(); 按空白鍵讓企鵝會跳躍, 修改 Pengu 類別 : 新增 act() 程式碼 : if (Greenfoot.isKeyDown("space")) if (onground()) setvspeed(-20); fall(); 當企鵝跳到雲上面, 企鵝會跟著雲移動 修改 Cloud 類別, 新增 act() 程式碼 : Actor actor = getoneintersectingobject(null); if(actor!= null) actor.setlocation ( actor.getx() + speed, actor.gety() ); 顯示目前的分數 新增 Counter 類別 import greenfoot.*; import java.awt.font; public class Counter extends Actor private int value = 0; private String text; public Counter()

26 text = "Point:"; setimage(new GreenfootImage(100, 24)); GreenfootImage image = getimage(); Font font = image.getfont(); image.setfont(font.derivefont(24.0f)); updateimage(); public void act() updateimage(); private void updateimage() GreenfootImage image = getimage(); image.clear(); image.drawstring(text + value, 1, 18); public void add(int score) value += score; 新增 Pengu 的程式碼 : private Counter counter; public void addedtoworld(world world) counter = new Counter(); world.addobject(counter, 100, 20); 當企鵝碰到魚時, 會把魚吃掉, 並加 5 分 新增 Pengu 的 act() 程式碼 : Actor fish = getoneintersectingobject(fish.class); if (fish!= null) getworld().removeobject(fish); counter.add(5);

27 當企鵝碰到右邊的企鵝時, 播放音效並且遊戲結束 新增 Pengu 的 act() 程式碼 : Actor penga = getoneintersectingobject(penga.class); if (penga!= null) Greenfoot.playSound("done.wav"); Greenfoot.stop();

Greenfoot 的特色有以下四點 : (1) 容易上手 :Greenfoot 的操作環境很簡單, 就是在一個微世界中安排幾個演員, 然後想辦法用程式碼讓這些演員動起來 初學者能夠很快地熟悉它的操作介面 (2) 變化萬千 : 你可以使用 Greenfoot 來開發各式各樣具有聲光效果的遊戲, 也能

Greenfoot 的特色有以下四點 : (1) 容易上手 :Greenfoot 的操作環境很簡單, 就是在一個微世界中安排幾個演員, 然後想辦法用程式碼讓這些演員動起來 初學者能夠很快地熟悉它的操作介面 (2) 變化萬千 : 你可以使用 Greenfoot 來開發各式各樣具有聲光效果的遊戲, 也能 Greenfoot 入門課程 (12 小時 ) 主講 : 南港高中高慧君老師 時間 :2012 年 7 月 26, 27 日 地點 : 臺北市立教育大學 koma@mail.nksh.tp.edu.tw Hour 1: Introduction 認識 Greenfoot 隨著時代的發展, 電腦硬體設備日新月異, 而軟體工程的發展更是一日千里 70 年代結構化的程式設計概念促進了軟體的快速發展, 而

More information

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class 踩地雷遊戲 高慧君南港高中 開啟專案 MineSweep 任務一 : 產生 30X20 個磚塊編輯 Table 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.arraylist; Write a description of class MyWorld

More information

int x = Greenfoot.getRandomNumber(getWidth()); int y = Greenfoot.getRandomNumber(getHeight()); addobject(card, x, y); 程式碼說明 : 滑鼠事件 Greenfoot.mouseClic

int x = Greenfoot.getRandomNumber(getWidth()); int y = Greenfoot.getRandomNumber(getHeight()); addobject(card, x, y); 程式碼說明 : 滑鼠事件 Greenfoot.mouseClic 撲克牌遊戲 簡易接龍 高慧君南港高中 準備一張牌桌的圖片 :porkboard.jpg 準備一張撲克牌的底圖 :blueflip.png 準備一張空的撲克牌 :empty.png 準備 13 張撲克牌的圖片 :1.png~13.png 開啟專案 Poke01 新建場景類別 Table, 設置圖像 porkboard.jpg 新建演員類別 Card 新建演員類別 Deck, 設置圖像 blueflip.png

More information

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,

More information

Microsoft Word - Book9

Microsoft Word - Book9 葬 書 ( 下 ) 佈 陣 十 方 成 立 指 揮 中 心 層 巒 疊 障 千 山 翠 微, 紓 回 連 綿 的 重 山 復 重 山, 侍 朝 衛 迎, 前 後 有 序, 巋 巘 隱 逸 著 一 片 風 水 寶 地, 牛 臥 馬 馳, 鸞 飛 鳳 舞, 滕 蛇 委 蛇, 縈 藟 纏 繞 在 葺 襲 的 斷 續 峰 巒 之 間! 離 正 午 十 二 時 整 還 有 半 個 鐘 頭, 接 近 天 頂 的

More information

Lesson 1: Poke Case 撲 克 牌 發 牌 準 備 1 張 撲 克 牌 的 底 圖 :blue.png 準 備 13 張 撲 克 牌 的 圖 片 :1.png~13.png 新 建 場 景 類 別 Table, 設 定 圖 像 corkboard.jpg 新 建 演 員 類 別 Ca

Lesson 1: Poke Case 撲 克 牌 發 牌 準 備 1 張 撲 克 牌 的 底 圖 :blue.png 準 備 13 張 撲 克 牌 的 圖 片 :1.png~13.png 新 建 場 景 類 別 Table, 設 定 圖 像 corkboard.jpg 新 建 演 員 類 別 Ca Greenfoot 進 階 課 程 (8 小 時 ) 主 講 : 南 港 高 中 高 慧 君 老 師 時 間 :2014 年 6 月 16 日 地 點 : 金 門 高 中 主 辦 : 資 訊 學 科 中 心 Greenfoot 進 階 課 程 (8 小 時 )... 1 Lesson 1: Poke Case... 2 撲 克 牌 發 牌... 2 Lesson 2: Simple Solitare...

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e Android Studio Debugging 本篇教學除了最基本的中斷點教學之外, 還有條件式中斷的教學 條件式中斷是進階的除錯技巧, 在某些特定情況中, 我們有一個函數可能會被呼叫數次, 但是我們只希望在某種條件成立時才進行中斷, 進而觀察變數的狀態 而條件式中斷這項技巧正是符合這項需求 本教學分兩部分 單步除錯 (Page2~11, 共 10) 條件式中斷點 (Page12~17, 共 6)

More information

Microsoft Word - JAVA Programming Language Homework I ans

Microsoft Word - JAVA Programming Language Homework I ans JAVA Programming Language Homework I - OO concept Student ID: Name: 1. Which of the following techniques can be used to prevent the instantiation of a class by any code outside of the class? A. Declare

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

Microsoft Word - ch04三校.doc

Microsoft Word - ch04三校.doc 4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear

More information

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4 JAVA Extension 0..\Example\Ch0\ \ T.html..\Example\Ch0\ \ T.txt T.txt..\Example\Ch0\ \ T_Ok.html 提示 :. Marquee Marquee Font Color #FFFFFF BG Color #867bf Width 90 Height 50. T.txt Ctrl+C your scrolling

More information

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2 Chapter 02 變數與運算式 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.2.1 2.2.2 2.2.3 type 2.2.4 2.3 2.3.1 print 2.3.2 input 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 + 2.4.6 Python Python 2.1 2.1.1 a p p l e b e a r c 65438790

More information

運算子多載 Operator Overloading

運算子多載 Operator Overloading 多型 Polymorphism 講師 : 洪安 1 多型 編譯時期多型 ( 靜態多型 ) function overloading 如何正確呼叫同名的函數? 利用參數個數與型態 operator overloading 其實同 function overloading 執行時期多型 ( 或動態多型 ) 如何正確呼叫不同物件的相同名稱的成員函數 利用繼承與多型 2 子類別與父類別物件間的指定 (assignment)

More information

3-1 Wii ( )

3-1 Wii ( ) 03 3-1 3-2 3-3 3-4 3-5 3-1 Wii ( ) 3-2 3-3 8 8 3-4 3-5 3-4 3-3 3-2 3-5 8 ( sin cos ) 3-4 3-5 3-2 CH03_key4.fla ActionScript 3 12 "block_mc" + + "_" + 8 block_mc2_3 x_num y_num 1 01 02 03 04 05 06 07 08

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

THE GAME GUIDE WELCOME TO DARTSLIVE DARTSLIVE.com Ver.3.0 2013.05 HOW TO PLAY BEFORE YOU START THE GAME HOW TO PLAY THE GAME HOW TO COUNT THE SCORE AWARD MOVIE 自由設定AWARD! 讓飛鏢的樂趣多更多! AWARD MOVIE是甚麼? AWARD

More information

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B 25 9 2008 9 M ICROEL ECTRON ICS & COMPU TER Vol. 25 No. 9 September 2008 J ava 1,2, 1,2, 1,2 (1, 330022 ; 2, 330022) :,. Apla - Java,,.. : PAR ;Apla - Java ; ;CMP ; : TP311 : A : 1000-7180 (2008) 09-0018

More information

Microsoft PowerPoint - Chap03.ppt [相容模式]

Microsoft PowerPoint - Chap03.ppt [相容模式] 本章目的 2D / 3D 遊戲程式設計入門使用 XNA 3.0 與 C# 探討 XNA 遊戲程式內部的基本架構與遊戲開發流程 示範如何完成一個簡單的 XNA 遊戲方案 第三章 XNA 遊戲程式基本架構 1 2 新增 XNA 專案 新增 XNA 專案 3 4 XNA 相關的命名空間 Game1.cs 程式中的六個函數 using Microsoft.Xna.Framework; // 和 XNA 架構相關的型別

More information

Android Service

Android Service Android Service- 播放音樂 建國科技大學資管系 饒瑞佶 2013/7 V1 Android Service Service 是跟 Activity 並行 一個音樂播放程式若沒使用 Service, 即使按 home 鍵畫面離開之後, 音樂還是照播 如果再執行一次程式, 新撥放的音樂會跟先前撥放的一起撥, 最後程式就會出錯 執行中的程式完全看不到! 但是, 寫成 Service 就不同了

More information

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp 01 1.6 Spyder Anaconda Spyder Python Spyder Python Spyder Spyder 1.6.1 Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Spyder Python File

More information

Microsoft PowerPoint - 13_ClassAndObj.ppt

Microsoft PowerPoint - 13_ClassAndObj.ppt Visual Basic 2005 (VB.net 2.0) 程式設計 講師 : 戴志華 hana@arbor.ee.ntu.edu.tw 國立台灣大學電機工程研究所 第十三章 物件與類別 物件與類別 物件導向程式設計 物件與類別的建立 物件與類別 物件 (object) Ex. 人 屬性 (property) 身高 體重 血型 方法 (method) 走路 跑步 訊息 (message) 交談 事件

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

The Embedded computing platform

The Embedded computing platform 嵌入式系統及實驗 Embedded System and Experiment 詹曉龍 長庚大學電機系 Java 的類別與物件 : 宣告類別 建構子 public class Customer { private String name; private String address; // Customer 類別宣告 // 成員資料 public int age; // 建構子 : 使用參數設定成員資料初始值

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074> 程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 pengxin@fudan.edu.cn 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

The golden pins of the PCI card can be oxidized after months or years

The golden pins of the PCI card can be oxidized after months or years Q. 如何在 LabWindows/CVI 編譯 DAQ Card 程式? A: 請參考至下列步驟 : 步驟 1: 安裝驅動程式 1. 安裝 UniDAQ 驅動程式 UniDAQ 驅動程式下載位置 : CD:\NAPDOS\PCI\UniDAQ\DLL\Driver\ ftp://ftp.icpdas.com/pub/cd/iocard/pci/napdos/pci/unidaq/dll/driver/

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

Microsoft Word - ACL chapter02-5ed.docx

Microsoft Word - ACL chapter02-5ed.docx 第 2 章神奇的質數 2.1.1 什麼是質數 1 1 1 打下好基礎 - 程式設計必修的數學思維與邏輯訓練 1 1 0 10 2 3 5 7 4 6 8 9 10 4 10000 1229 1000 168 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131

More information

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

Visual C# 2005程式設計

Visual C# 2005程式設計 Visual Basic 2005 程式設 計 第 5 章流程控制 5-1 認識流程控制 判斷結構 (decision structures) If...Then Else Select Case Try Catch Finally 迴圈結構 (loop structures) For...Next For Each...Next Do...Loop While End While 5-2 If Then

More information

PowerPoint 簡報

PowerPoint 簡報 Paint 繪圖板 JAVA 程式設計 指導老師 : 鄞宗賢 組員 : 4A3G0901 劉彥佐 4A3G0907 韓偉志 畫面預覽 匯入參數 package paint; import java.awt.*; import java.awt.event.*; import javax.swing.*; 主程式 public class paint{ public static void main(string[]

More information

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h 資訊系統與實習 製作 : 林郁君 一 2009.09.28 9X9 'button 被按下後 ' Dim i, j As Integer For i = 1 To 9 'i 從 1 到 9' For j = 1 To 9 'j 從 1 到 9' If j * i < 10 Then ' 如果 j 乘上 i 是為個位數 ' Response.Write(i & "*" & j & " =" & i *

More information

Microsoft PowerPoint - VB14.ppt

Microsoft PowerPoint - VB14.ppt VB 列表盒 LISTBOX 應用 資科系 林偉川 執行畫面 1 2 1 重要屬性 LISTBOX 物件 (VB6) 新增至 LISTBOX 物件中 ADDITEM 自 LISTBOX 物件中刪除選取物件 REMOVEITEM 自 LISTBOX 物件中取出選取物件 ListIndex 顯示 LISTBOX 物件中紀錄個數 Listcount 3 LISTBOX 物件 (VB.NET) 重要屬性 新增至

More information

第1章

第1章 第 8 章 函式 1 本章提要 8.1 前言 8.2 如何定義函式 8.3 函式的呼叫和返回 8.4 傳遞陣列 8.5 方法多載 8.6 遞迴 8.7 綜合練習 8.8 後記 2 8.1 前言 每一種高階程式語言都有提供函式 (Function)( 或稱函數 ) 的功能, 以便將經常使用到的程式功能包裝成函式的形式, 如此一來便能反覆地呼叫該函式來完成某件特定工作在高階程式語言中, 副程式 (Subroutine)

More information

投影片 1

投影片 1 計算機程式及實習 期末報告 題目 : 六宿炒翻天 班級 : 奈米一乙姓名 : 陳洋翼學號 :4A514050 老師 : 謝慶存 程式說明 設計結帳系統, 選擇數量後, 在按下計算, 將會顯示總金額 若是老人或小孩, 將可享 8 折或 9 折的優惠 程式畫面 填選數量 在火腿蛋炒飯的數量選擇 1, 並按下計算, 可得總金額 50 元 程式畫面 打折 填選完後, 若客人是小孩或老人, 選擇欲打折項目,

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 專題進度 老師 : 趙啟時老師 學生 : 陳建廷 2013/10/13 用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 程式碼 : package com.example.phone; import java.util.arraylist;

More information

Microsoft PowerPoint - L17_Inheritance_v4.pptx

Microsoft PowerPoint - L17_Inheritance_v4.pptx C++ Programming Lecture 17 Wei Liu ( 刘 威 ) Dept. of Electronics and Information Eng. Huazhong University of Science and Technology May. 2015 Lecture 17 Chapter 20. Object-Oriented Programming: Inheritance

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

Microsoft PowerPoint - P766Ch06.ppt

Microsoft PowerPoint - P766Ch06.ppt PHP5&MySQL 程式設計 第 6 章物件導向 6-1 認識物件導向 物件 (object) 或 案例 (instance) 屬性 (property) 欄位 (field) 或 成員變數 (member variable) 方法 (method) 或 成員函式 (member function) 事件 (event) 類別 (class) 物件導向程式設計 (OOP) 具有下列特點 : 封裝

More information

untitled

untitled 林 林 年 1 錄 錄 論 連連 練 2 連連 練 六 路歷 來 參 3 錄 邏 流 邏 流 邏 流 邏 流 連連 邏 流 練 邏 流 cast 4 Score 連連 連連 連連 連連 連連 練 5 練 練 練 練 練 練 練 行 參數 參數 參數 參數 連連 參數 練 參數 6 論 利 不 都 浪 金 了 識 異 精 益 了 省 力 力 不 識 度都不 不 來 來 練 不 更 練 7 不 來 來

More information

AutoCAD 用戶如何使用 ArchiCAD

AutoCAD 用戶如何使用 ArchiCAD AutoCAD 用戶如何使用 ArchiCAD AutoCAD用戶如何使用ArchiCAD ( 中文版 ) 由 Scott MacKenzie, Simon Gilbert, Geoffrey Moore Langdon, David Byrnes, Ralph Grabowski 編寫 龍庭資訊有限公司 1/73 - 2. 3. 4. -

More information

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF> 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 考 试 2009 年 上 半 年 软 件 设 计 师 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 请 按 下 述 要 求 正 确 填 写 答 题 纸 1. 在 答 题 纸 的 指 定 位 置 填 写 你 所 在 的 省 自 治 区 直 辖 市 计 划 单 列 市 的 名 称 2. 在 答

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

投影片 1

投影片 1 資料庫管理程式 ( 補充教材 -Part2) 使用 ADO.NET 連結資料庫 ( 自行撰寫程式碼 以實現新增 刪除 修改等功能 ) Private Sub InsertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertButton.Click ' 宣告相關的 Connection

More information

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1 0 0 = 1 0 = 0 1 = 0 1 1 = 1 1 = 0 0 = 1 : = {0, 1} : 3 (,, ) = + (,, ) = + + (, ) = + (,,, ) = ( + )( + ) + ( + )( + ) + = + = = + + = + = ( + ) + = + ( + ) () = () ( + ) = + + = ( + )( + ) + = = + 0

More information

untitled

untitled 說 參 例 邏 邏 1. 說 2. 數 數 3. 8 4. 理念 李 龍老 立 1. 理 料 2. 理 料 3. 數 料 4. 流 邏 念 5. 良 6. 讀 行 行 7. 行 例 來 邏 1. 說 說 識 量 2. 說 理 類 3. 數 數 念 4. 令 5. 良 6. 流 邏 念 7. 說 邏 理 力 1. 2. 3. 4. 5. 列 念 1 參 1. ( Visual Basic 例 ) (1)

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

untitled

untitled 1 Outline ArrayList 類 列類 串類 類 類 例 理 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

untitled

untitled 1 7 7.1 7.2 7.3 7.4 7.5 2 7.1 VFT virtual 7.1 3 1 1. 2. public protected public 3. VFT 4. this const volatile 4 2 5. ( ) ( ) 7.1 6. no-static virtual 7.2 7. inline 7.3 5 3 8. this this 9. ( ) ( ) delete

More information

javaexample-02.pdf

javaexample-02.pdf n e w. s t a t i c s t a t i c 3 1 3 2 p u b l i c p r i v a t e p r o t e c t e d j a v a. l a n g. O b j e c t O b j e c t Rect R e c t x 1 y 1 x 2 y 2 R e c t t o S t r i n g ( ) j a v a. l a n g. O

More information

untitled

untitled 1 .NET 利 [] [] 來 說 切 切 理 [] [ ] 來 說 拉 類 類 [] [ ] 列 連 Web 行流 來 了 不 不 不 流 立 行 Page 類 Load 理 Response 類 Write 料 Redirect URL Response.Write("!! ives!!"); Response.Redirect("WebForm2.aspx"); (1) (2) Web Form

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

46 2011 11 467 數位遊戲式學習系統 7 2011 11 467 47 3 DBGameSys 48 2011 11 467 正規化資料模組 如何配置並儲存電子化資料 以 便減少資料被重覆儲存的程序 DBGameSys的主要功能模組包 學習者 審核評分模組 含 正規化資料模組 審核評分 模組 高分列表模組3大區塊 系統資料庫 在正規化資料模組的執行 高分列表模組 過程中 先要求學習者瀏覽遊戲

More information

Microsoft Word - 投影片ch11

Microsoft Word - 投影片ch11 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 第十一章抽象類別與介面 本章學習目標認識抽象類別學習介面的使用認識多重繼承與介面的延伸 抽象類別與介面 11-2 11.1 抽象類別 抽象類別的目的是要依據它的格式來修改並建立新的類別 11.1.1 定義抽象類別 定義抽象類別的語法如下 : abstract class 類別名稱 { 宣告資料成員 ; // 定義抽象類別

More information

4. 如下的程式碼中, 宣告了類別 A3 和 B3 由於在兩個類別中都定義了 print() 的方法, 所以依據定義, 總共有兩次的 overloading 以及一次的 overriding public class A3 { public class B3 extends A3 { protect

4. 如下的程式碼中, 宣告了類別 A3 和 B3 由於在兩個類別中都定義了 print() 的方法, 所以依據定義, 總共有兩次的 overloading 以及一次的 overriding public class A3 { public class B3 extends A3 { protect 姓名 : 物件導向程式設計 (II) Spring 2010, 期中考 學號 : 是非題 : ( 每題 5 分 ) 注意 : 若答案為 非, 你必須提供正確的解釋才有分數 ; 否則, 以零分計 若有程式錯誤, 請回答 非 並指出錯誤 1. 如下的程式碼中, 宣告了類別 A1 和 B1 若在其他類別( 如控制類別 ) 執行 B1 b1 = new B1(5);, 則 a1 的值會改成 5 public

More information

SCRATCH 速成法

SCRATCH 速成法 Scratch 卡 片 (Scratch Cards) 連 結 網 址 :http://llk.media.mit.edu/projects/scratch/cards/ 交 互 旋 轉 交 互 旋 轉 移 動 老 鼠 來 旋 轉 相 片 準 備 開 始 舞 步 (Scripts) 造 型 (Costumes) 聲 音 (Sounds) 新 造 型 繪 圖 (Paint) 輸 入 (Import)

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

Microsoft PowerPoint - EmbSys101_Java Basics.ppt [相容模式]

Microsoft PowerPoint - EmbSys101_Java Basics.ppt [相容模式] Java Basics Hi Hsiao-Lung Chan, Ph.D. Dept Electrical Engineering Chang Gung University, Taiwan chanhl@maili.cgu.edu.twcgu 執行環境 - eclipse 點選 eclipse 軟體執行檔 設定工作路徑 eclipse 開啟 2 建置 Java 專案 File New project

More information

* 2

* 2 * 2 1. A 3. A 2. B A. 1. 1 2. 1 3 4 4 6 p 123456 7 bk bl bm bn 7 bo cm 9 8 cl ck bt bs br bp bq 1 2 3 4 5 6 7 8 9 bk bl bm 0 bn bo bp bq br bs bt p ck 8 2 4 6 cl cm cq cp co cn cn co cp cq 10 . [8]

More information

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式 導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式語言篇第 3 章 C# 程式語言基礎 C# C# 3.0 var 第 4 章 基本資料處理 C# x

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 9 [P.11] : Dev C++ [P.12] : http://c.feis.tw [P.13] [P.14] [P.15] [P.17] [P.23] Dev C++ [P.24] [P.27] [P.34] C / C++ [P.35] 10 C / C++ C C++ C C++ C++ C ( ) C++

More information

Fuzzy GP

Fuzzy GP : 林 理論 數 論 1 率 2 類,, 金流量 金 利 數 益,, 3 不 異 (Multi- Valued) (Single-Valued) 數 數 數 (Local Optimum) (Global Optimum) 4 (Multi-valued) (Non-linear) (Self-learning) 5 (Genetic Programming, GP) GP 1. 亂數 2. (individuals)

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

1 1 1 1 2 3 3 3 4 4 5 5 5 6 6 7 7 9 9 9 10 11 11 11 1. 2. 3. 4. 1 2 11 12 12 12 12 13 13 13 15 15 16 16 17 18 18 18 19 19 19 20 20 20 21 22 22 22 23 23 1. 2. 23 25 27 27 28 28 28 29 29 29 30 31 31 31 32

More information

Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop Photoshop 8 136

Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop Photoshop 8 136 漸層填色與圖樣填色 08 8-1 漸層填色 8-2 漸層填色編輯 8-3 油漆桶填色 8-4 編輯圖樣 Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 8-1 8-2 8-3 8-4 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop 8-1-1 Photoshop 8 136 漸層填色與圖樣填色 漸層填色

More information

JBuilder Weblogic

JBuilder Weblogic JUnit ( bliu76@yeah.net) < >6 JUnit Java Erich Gamma Kent Beck JUnit JUnit 1 JUnit 1.1 JUnit JUnit java XUnit JUnit 1.2 JUnit JUnit Erich Gamma Kent Beck Erich Gamma Kent Beck XP Extreme Programming CRC

More information

<A4E2BEF7B4FAB8D5B3F8A F52322E786C7378>

<A4E2BEF7B4FAB8D5B3F8A F52322E786C7378> 製表日期 : 2008 年 9 月 17 日 Mobile Java Applet 手機安裝測試報告表 已完成測試機型數量 :317 台 ; 無問題 ( 可安裝 / 可執行 ) 機型 :315 台無法使用 :2 台 ; 特殊註記機型 :2 台 廠牌 機型 測試狀況 OK 不 OK 安裝資料夾 ( 目錄 ) 備註 NOKIA N95 應用程式 NOKIA 6110 應用程式 NOKIA 3120 應用程式

More information

untitled

untitled 3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

Microsoft Word - ACL chapter00a-1ed .doc

Microsoft Word - ACL chapter00a-1ed .doc 序三 A* Wi-Fi RLE RSA - v - 前言 NPC Horner s rule DOS PCX RLE RSA - - vii - 演算法的樂趣 0-1 60 23 1 32 O(n) O(n 2 ) O(n) O(n) MP3 - viii - 前言 http://books.gotop.com.tw/download/acl045600 http://blog.csdn.net/orbit/

More information

Microsoft Word - 04_object_Boxing_property_indexer.doc

Microsoft Word - 04_object_Boxing_property_indexer.doc C# 程式設計人員參考 object 型別是.NET Framework 中,System.Object 的別名 您可以將 任何型別的值指派給 object 型別的變數 所有的資料型別, 包括預先定義的和使用者定義的, 都繼承自 System.Object 類別 object 資料型別是物件 Box 目標或來源的型 別 範例下列範例顯示 object 型別的變數如何接受任何資料型別的值, 以及 object

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 1Z0-854 Title : Java Standard Edition 5 Programmer Certified Professional Upgrade Exam Version : Demo 1 / 12 1.Given: 20. public class CreditCard

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民 1 08414159 惠 鴻 眼 鏡 行 桃 園 市 中 壢 區 福 德 里 中 華 路 一 段 186 號 1 樓 30,000 獨 資 宋 耀 鴻 105/04/27 府 經 登 字 第 1059003866 號 2 17891110 承 元 冷 氣 空 調 工 程 行 桃 園 市 桃 園 區 中 德 里 國 際 路 1 段 98 巷 50 號 2 樓 之 4 200,000 獨 資 詹 安 平

More information

Microsoft Word - 物件導向編程精要.doc

Microsoft Word - 物件導向編程精要.doc Essential Object-Oriented Programming Josh Ko 2007.03.11 object-oriented programming C++ Java OO class object OOP Ruby duck typing complexity abstraction paradigm objects objects model object-oriented

More information

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F 1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET 2.0 2.0.NET Framework.NET Framework 2.0 ( 3).NET Framework 2.0.NET Framework ( System ) o o o o o o Boxing UnBoxing() o

More information

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii 前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii C# 7 More Effective C# C# C# C# C# C# Common Language Runtime CLR just-in-time

More information

本章大綱 解剖學與生理學的定義人體組成的層次身體系統介紹恆定 正回饋 負回饋恆定正回饋機轉負回饋機轉解剖語言解剖學姿勢身體剖面體腔背側體腔腹側體腔腹部四象限分法與九分法四象限分法九分法 學習目標 1. 能了解解剖學和生理學的定義及範圍 2. 能了解人體組成的各個階層 3. 能了解人體的基本結構 4.

本章大綱 解剖學與生理學的定義人體組成的層次身體系統介紹恆定 正回饋 負回饋恆定正回饋機轉負回饋機轉解剖語言解剖學姿勢身體剖面體腔背側體腔腹側體腔腹部四象限分法與九分法四象限分法九分法 學習目標 1. 能了解解剖學和生理學的定義及範圍 2. 能了解人體組成的各個階層 3. 能了解人體的基本結構 4. 第一章 本章大綱 解剖學與生理學的定義人體組成的層次身體系統介紹恆定 正回饋 負回饋恆定正回饋機轉負回饋機轉解剖語言解剖學姿勢身體剖面體腔背側體腔腹側體腔腹部四象限分法與九分法四象限分法九分法 學習目標 1. 能了解解剖學和生理學的定義及範圍 2. 能了解人體組成的各個階層 3. 能了解人體的基本結構 4. 能了解人體恆定的機轉 5. 知道人體的解剖語言 6. 能明白人體各項解剖面的定義 7. 能清楚了解人體的主要體腔及重要器官位置的敘述方式

More information

Microsoft Word - 第6章.doc

Microsoft Word - 第6章.doc 100 第 6 章 继 承 第 6 章 继 承 继 承 是 面 向 对 象 编 程 的 重 要 特 征 之 一 顾 名 思 义, 继 承 就 是 在 现 有 类 的 基 础 上 构 建 新 类 以 满 足 新 的 要 求 在 继 承 过 程 中, 新 的 类 继 承 原 来 的 方 法 和 实 例 变 量, 并 且 能 添 加 自 己 的 方 法 和 实 例 变 量 在 本 章 中 主 要 讲 解

More information

untitled

untitled 1 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object 參 類 都 object 參 object Boxing 參 boxing

More information

科 技 与 法 律 Science Technology and Law Vol.89, No.1, 2011 作 品 若 将 打 字 机 也 算 作 字 体 工 具, 那 么 打 字 机 不 是 美 术 作 品, 只 是 一 种 工 业 产 品 字 帖 是 美 术 作 品 么? 笔 者 认 为,

科 技 与 法 律 Science Technology and Law Vol.89, No.1, 2011 作 品 若 将 打 字 机 也 算 作 字 体 工 具, 那 么 打 字 机 不 是 美 术 作 品, 只 是 一 种 工 业 产 品 字 帖 是 美 术 作 品 么? 笔 者 认 为, 专题研究 计算机字体版权保护 张玉瑞 论计算机字体的版权保护 论计算机字体的版权保护 张玉瑞 中国社会科学院法学研究所 北京 100720 摘 要 对计算机字体产生之单字寻求版权保护 是近来知识产权法律中的热点和难点问题 从字体保护的 国际公约 外国法律及其司法实践看 字体工具属于计算机软件产品 其产生的单字没有版权 社会无关第 三人的使用不构成侵犯书法作品版权 计算机字库是字体工具 不是美术作品

More information

java2d-4.PDF

java2d-4.PDF 75 7 6 G r a d i e n t P a i n t B a s i c S t r o k e s e t P a i n t ( ) s e t S t o r k e ( ) import java.awt.*; import java.awt.geom.*; public class PaintingAndStroking extends ApplicationFrame { public

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题 2009 年 3 月 全 国 计 算 机 等 级 考 试 笔 试 试 卷 二 级 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟, 满 分 100 分 ) 一 选 择 题 ( 每 题 2 分, 共 70 分 ) 下 列 各 题 A) B) C) D) 四 个 选 项 中, 只 有 一 个 选 项 是 正 确 的 请 将 正 确 选 项 填 涂 在 答 题 卡 相 应 位 置 上,

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

Microsoft Word - Learn Objective-C.doc

Microsoft Word - Learn Objective-C.doc Learn Objective C http://cocoadevcentral.com/d/learn_objectivec/ Objective C Objective C Mac C Objective CC C Scott Stevenson [object method]; [object methodwithinput:input]; output = [object methodwithoutput];

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

untitled

untitled 1 LinkButton LinkButton 連 Button Text Visible Click HyperLink HyperLink 來 立 連 Text ImageUrl ( ) NavigateUrl 連 Target 連 _blank _parent frameset _search _self 連 _top 例 sample2-a1 易 連 private void Page_Load(object

More information