第一篇:java實訓報告書寫
課題名稱:Hannoi塔
1.1系統(tǒng)介紹
本系統(tǒng)是旨在模擬Hannoi塔運行功能,暫時考慮單機環(huán)境下的實現(xiàn);操作系統(tǒng)選擇目前常用的Windows XP/2000。
1.2 設計要求
(見教材,自己書寫)
1.3 總體設計
在設計Hannoi塔時,需編寫6個Java源文件:HannoiWindow.java、TowerPoint.java、Disc.java、HandleMouse.java、Tower.java、AutoMoveDisc.java。
類之間的組合關(guān)系:
(見教材,自己繪制)
1.3.1 HannoiWindow.java(主類)
(1)功能概述
負責創(chuàng)建Hannoi塔的主窗口,該類含有main方法,Hannoi塔從該類開始執(zhí)行。HannoiWindows類的成員變量中有五種重要類型的對象、一個int基本型數(shù)據(jù)和一個char型數(shù)組。五種類型的對象分別是:Tower、JmunuBar、Jmenu、JmenuItem和Jbutton對象。
(2)UML圖
(見教材,自己繪制)
1.3.2 Tower.java
(1)功能概述
Tower類是javax.swing包中Jpanel容器的子類,創(chuàng)建的容器被添加到HannoiWindow窗口的中心。Tower類的成員變量中有四種重要類型的對象、一個int基本型數(shù)據(jù)和一個char型數(shù)據(jù)。四種類型的對象分別是:Disc、TowerPoint、HandleMouse和AutoMoveDisc對象。
(2)UML圖
(見教材,自己繪制)
1.3.3 Disc.java
(1)功能概述
Disc類是Jbutton的一個子類,創(chuàng)建的對象是Tower容器中的一個按鈕,用來表示Tower中的“盤子”。
(2)UML圖
(見教材,自己繪制)
1.3.4 TowerPoint.java
(1)功能概述
TowerPoint類負責在Tower中創(chuàng)建表示位置的塔點對象。
(2)UML圖
(見教材,自己繪制)
1.3.5 HandleMouse.java
(1)功能概述
HandleMouse類創(chuàng)建的對象負責處理鼠標事件。
(2)UML圖
(見教材,自己繪制)
1.3.6 AutoMoveDisc.java
(1)功能概述
AutoMoveDisc類創(chuàng)建的對象負責自動移動盤子從一個座到另一個座。
(2)UML圖
(見教材,自己繪制)
1.4 詳細設計
代碼詳見上交源文件。
課題名稱:根據(jù)自己選做課題書寫
1.1系統(tǒng)介紹
自己書寫
1.2 設計要求
自己書寫
1.3 總體設計
整個系統(tǒng)包含的Java源文件:根據(jù)選題書寫
類之間的組合關(guān)系:
(根據(jù)選題,見教材,自己繪制)
根據(jù)分組分工,書寫要求如下:
1)自己編寫的.java源文件的功能概述
2)繪制源文件對應UML圖
3)寫出圖中有關(guān)數(shù)據(jù)和方法的詳細說明。
1.4 詳細設計
代碼詳見上交源文件。
實訓總結(jié)
結(jié)合實訓體會自己撰寫
第二篇:java實訓報告
摘要
隨著自動化技術(shù)的不斷發(fā)展,電子產(chǎn)業(yè)對工藝生產(chǎn)的要求越來越高。本次實訓主要熟悉手工焊錫的常用工具的使用及其與修理。手工電烙鐵的焊接技術(shù),能夠獨立的簡單電子產(chǎn)品的安裝與焊接。熟悉電子產(chǎn)品的生產(chǎn)流程,印制電路板設計的和方法,能夠讀懂電路原理圖,熟悉元器件實物,常用電子器件的類別、型號、規(guī)格、性能及其使用范圍,并會簡單的元器件測量,掌握焊接工藝的編排,電路調(diào)試過程。能夠識別和選用常用的電子器件,并且能夠熟練使用普通萬用表和數(shù)字萬用表。培養(yǎng)檢測能力及一絲不茍的科學作風。
第一章JAVA開發(fā)環(huán)境
1.1NetBeans IDE簡介
NetBeans 由Sun公司在2000年創(chuàng)立,它是開放源運動以及開發(fā)人員和客戶社區(qū)的家園,旨在構(gòu)建世界級的Java IDE。NetBeans當前可以在Solaris、Windows、Linux和Macintosh OS X平臺上進行開發(fā),并在SPL(Sun公用許可)范圍內(nèi)使用。
NetBeans包括開源的開發(fā)環(huán)境和應用平臺,NetBeans IDE可以使開發(fā)人員利用Java平臺能夠快速創(chuàng)建Web、企業(yè)、桌面以及移動的應用程序,NetBeans IDE目前支持PHP、Ruby、JavaScript、Ajax、Groovy、Grails和C /C + +等開發(fā)語言。
由于Java的跨平臺性,在任一平臺中編寫的Java程序可以很好的移植到其他平臺上。為了運行程序,計算機上必須安裝JVM,它包含Java運行時的解釋器與及時編譯器,二者構(gòu)成Java的運行環(huán)境。如圖1.1所示:
=
圖1.1Java的運行環(huán)境
{
JFileChooser fc = new JFileChooser();
int r=fc.showOpenDialog(this);
if(r== JFileChooser.APPROVE_OPTION){
File file=fc.getSelectedFile();
try{jTextArea1.read(new FileReader(file),null);}
catch(IOException e){}
}
} void saveFile()//保存文件函數(shù) {
JFileChooser fc=new JFileChooser();
int r=fc.showSaveDialog(this);
if(r== JFileChooser.APPROVE_OPTION){
File file=fc.getSelectedFile();
try{jTextArea1.write(new FileWriter(file));}
catch(IOException e){}
}
} 2.2計算器
要求編寫一個模擬計算器Applet,使用面板和網(wǎng)絡布局,添加一個文本框,10個數(shù)字按鈕(0~9),四個加減乘除按鈕,一個等號,一個清除按鈕。計算器效果如圖2.2:
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt){
show(4);}
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt){
show(5);}
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt){
show(6);}
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt){
show(7);}
private void jButton9ActionPerformed(java.awt.event.ActionEvent evt){
show(8);}
private void jButton10ActionPerformed(java.awt.event.ActionEvent evt){
show(9);}
//點擊小數(shù)點按鈕
private void jButton11ActionPerformed(java.awt.event.ActionEvent evt){
String text=jTextField1.getText();
if(text.lastIndexOf(“.”)==-1)//判斷該數(shù)字是否已經(jīng)有小數(shù)點
jTextField1.setText(text+“.”);
}
//點擊運算符
private void jButton12ActionPerformed(java.awt.event.ActionEvent evt){
t1=Double.parseDouble(jTextField1.getText());//將第一個數(shù)轉(zhuǎn)換成Double類型保存在t1中
jTextField1.setText(“ ”);
圖3.1文件打開
圖3.2文件保存
3.2計算器調(diào)試
計算器可以實現(xiàn)加減乘除運算,并可以清零,BACK按鈕還可以一位一位清除,基本完成了計算器的基本功能。
第三篇:Java實訓報告
Java實訓報告
實訓項目:小豬吃豆 班級:
指導老師:
一,游戲介紹:
小豬吃豆是一款簡單而又經(jīng)典的小游戲。游戲的玩法就是通過鍵盤的左右上下按鍵控制小豬,躲避森林動物的追擊,同時把隨機產(chǎn)生的小豆吃掉。游戲有初中高三個級別。游戲通過玩家過關(guān)所需要的時間來確定排名。
二,設計思路:
1,一開始,在玩家點擊菜單欄的開始按鈕后,界面會隨機出現(xiàn)一定數(shù)量的小豆和一只小豬,同時啟動時間線程,計時開始。
2,界面隨機產(chǎn)生一些森林動物,作為小豬的障礙物。森林動物會移動,并緊跟著小豬。
3,小豬會在玩家的控制下,躲避森林動物,并吃小豆,每吃掉一顆豆,就啟動音樂線程,發(fā)出聲音。
4,游戲過程會隨機出現(xiàn)大力丸,小豬吃掉大力丸后,可以增加功力,與森林動物對抗。大力丸會在一定時間后消失。5,游戲還要有一個暫停和繼續(xù)的功能。
6,游戲設置有三個級別。障礙物和小豆的個數(shù)都不同,用于體現(xiàn)難度的不同。
三,關(guān)鍵問題解決:
1,游戲當中有幾個核心的問題,比如:小豆,小豬,森林動物等物體的隨機產(chǎn)生;小豬吃掉小豆,也就是他們的重疊;中途大力丸的出現(xiàn)等等。在老師的幫助下,我知道了Java中有個Random類,可以產(chǎn)生隨機數(shù)。而判斷小豬和小豆或者動物的重疊,也就是“被吃掉”也有相應的判斷方法。
2,有關(guān)大力丸部分的問題:在游戲中,小豬吃的大力丸個數(shù)不同,對應的功力也不同。而小豬吃掉大力丸之后,功力又恢復。這需要很多的判斷。后來,我就是一步步來,用一個一個的if去實現(xiàn)的。
3,游戲要控制大力丸出現(xiàn)后一定時間后消失。如果使用線程的話,那么游戲的線程太多,會影響到游戲的運行。后來老師建議使用Java的計時器。我參考了Java的幫助文檔和網(wǎng)絡上的有關(guān)資料,對計時器類timer有了一定認識和了解后,成功的將計時器加進了程序當中。
四,心得體會:
在游戲開發(fā)的整個過程,我感受最深的就是大力丸實現(xiàn)的部分。因為大力丸是老師要求的最后一個拓展部分,我完成前面部分的時候,曾想過不要增加大力丸,就那樣就行了。可后來我覺得還是有時間,可以試試,就自己去試了。才發(fā)現(xiàn),其實大力丸部分的實現(xiàn)也不是很難,還是可以完成的。而且是自己一個人完成的。這讓我覺得:在開發(fā)過程,不應該還沒有開始工作,開始嘗試就選擇放棄。有些功能,只要能嘗試著去開發(fā),最后是可以完成的。不要還沒開始就放棄,那樣就絕對沒有機會完成相關(guān)內(nèi)容。
在這個過程,我參考了很多資料,從老師那里來的,網(wǎng)上來的,還有同學那里。就拿森林動物靠近小豬這個部分來說,我曾嘗試讓動物的坐標與小豬的坐標關(guān)聯(lián),可發(fā)現(xiàn)出了很多問題,比如那樣子動物的移動就不是一步步移動,而是跳動的,那樣不好看。后來我問了一位同學,他說,讓動物的坐標靠近小豬的坐標就行了。其實,企業(yè)中,不是以個人為單位,而是以團隊為單位的。團隊的合作在現(xiàn)代企業(yè)中顯得非常重要。當然,相對應的人與人之間的溝通與協(xié)助,也就顯得非常重要了。這是個人軟實力的體現(xiàn)。
在這個過程,我發(fā)現(xiàn)自己對Java的很多知識還很模糊。像游戲中的時間格式問題,對鍵盤事件的處理等,都是從老師那里借鑒來的。自己的知識系統(tǒng)還不穩(wěn)固,在今后的學習當中,要有針對性地加以補習。
第四篇:java實訓報告總結(jié)
作為就業(yè)培訓,項目的好壞對培訓質(zhì)量的影響十分大,常常是決定性的作用。這篇文章是關(guān)于在學習java軟件開發(fā)時練習項目的總結(jié),簡單總結(jié)為以下幾點:
作為就業(yè)培訓,項目的好壞對培訓質(zhì)量的影響十分大,常常是決定性的作用。這篇文章是關(guān)于在學習java軟件開發(fā)時練習項目的總結(jié),簡單總結(jié)為以下幾點:
1、項目一定要全新的項目,不能是以前做過的2、項目一定要企業(yè)真實項目,不能是精簡以后的,不能脫離實際應用系統(tǒng)
3、在開發(fā)時要和企業(yè)的開發(fā)保持一致
4、在做項目的時候不應該有參考代碼
長話短說就是以上幾點,如果你想要更多的了解,可以繼續(xù)往后看。
一:項目的地位
因為參加就業(yè)培訓的學員很多都是有一定的計算機基礎,大部分都具備一定的編程基礎,尤其是在?;蛘呤莿偖厴I(yè)的學生,多少都有一些基礎。
他們欠缺的主要是兩點:
(1)不能全面系統(tǒng)的、深入的掌握某種技術(shù),也就是會的挺多,但都是皮毛,不能滿足就業(yè)的需要。
(2)沒有任何實際的開發(fā)經(jīng)驗,完全是想象中學習,考試還行,一到實際開發(fā)和應用就歇菜了。
解決的方法就是通過項目練習,對所學知識進行深化,然后通過項目來獲取實際開發(fā)的經(jīng)驗,從而彌補這些不足,盡快達到企業(yè)的實際要求。
二:如何選擇項目
項目既然那么重要,肯定不能隨隨便便找項目,那么究竟如何來選擇呢?根據(jù)java的研究和實踐經(jīng)驗總結(jié),選擇項目的時候要注意以下方面:
1:項目不能太大,也不能太小
這個要根據(jù)項目練習的階段,練習的時間,練習的目標來判斷。不能太大,太大了做不完,也不能太小,太小了沒有意義,達不到練習的目的。
2:項目不能脫離實際應用系統(tǒng)
項目應該是實際的系統(tǒng),或者是實際系統(tǒng)的簡化和抽象,不能夠是沒有實戰(zhàn)意義的教學性或者是純練習性的項目。因為培訓的時間有限,必須讓學員盡快地融入到實際項目的開發(fā)當中去。任何人接受和掌握一個東西都需要時間去適應,需要重復幾次才能夠真正掌握,所以每個項目都必須跟實際應用掛鉤。
3:項目應能覆蓋所學的主要知識點
學以致用,學完的知識點需要到應用中使用,才能夠真正理解和掌握,再說了,軟件開發(fā)是一個動手能力要求很高的行業(yè),什么算會了,那就是能夠做出來,寫出代碼來,把問題解決了,你就算會了。
4:最后綜合項目一定要是實際應用系統(tǒng)
學員經(jīng)過這個項目的練習,就要走上實際的工作崗位了,如果這個系統(tǒng)還達不到實際應用系統(tǒng)的標準,學員練習過后也還是達不到企業(yè)實際的需要,那么這個培訓應該說質(zhì)量就不高了。理想的狀況是這個項目就是實際項目,到時候?qū)W員就業(yè)到另外一個公司,不過是換個地方干活而已,完全沒有技能上的問題。
三:java怎么選擇項目
這個不是靠想象,而是根據(jù)實際的情況一步一步分析出來的(呵呵要賣弄一下:這也算是邏輯思維),當然這里只是討論方法,不涉及具體的項目案例。
我們可以采用倒推的方式來分析:
(1)最終的項目一定是真實的項目,也就是要把學員訓練到能夠獨立開發(fā)實際應用,通常我們還不能選最簡單的項目,因為學員的吸收還要有一個折扣,所以最終的項目應該選實際項目中中等難度的項目
(2)最終項目定下來過后,開始分解這個項目,看看為了達到完成這個項目需要哪些技術(shù)和知識點,以及每部分知識點的深度,然后定出每個分階段的任務
(3)然后開始選擇分階段的項目,分階段的項目應該比剛才分析出來的分階段任務稍稍復雜點,這樣才能達到訓練的目標。定下分階段項目后,同樣去分解,定出為了完成他所需要的各部分知識點和深度。
(4)然后是選擇上課期間的演示項目,演示的項目是為了做分階段項目服務的,可以認為是分階段項目的分階段項目
(5)最終把要求掌握的知識點和要求掌握的深度,分散到日常教學和練習中。
好了,把上面的分析用正向描述就是:
日常教學和練習中學習和掌握的知識 ==〉演示項目 ==〉分階段項目 ==〉綜合項目 ==〉勝任企業(yè)實際開發(fā)需要。
附注:有了好的項目還要有好的訓練方法(這個另外立文討論),最最基本和重要的一條就是:絕對要指導學生親自動手做,而不是看和聽,所以盡量不要選擇有現(xiàn)成代碼的項目,演示用的項目也最好不配發(fā)代碼,讓學生能夠跟著做出來才是真的掌握了。
上面闡述了java對項目的態(tài)度和基本選擇方法,這里再把其中幾個重要的、與眾不同的特點闡述如下:
1:真項目
項目一定要真實,要是企業(yè)實際應用的,不能是教學性的項目,否則會脫離實達不到項目實訓的效果。還有一個一定要是最新的項目,企業(yè)的要求也是在不斷變化的,應用技術(shù)的方向和層次也在不斷變化,這些都體現(xiàn)在最新項目的要求上,舊項目所要求的技術(shù)和層次很可能已經(jīng)過時了,根本達不到訓練的目的。
java的做法是:沒有固定項目,每個班做項目之前會從企業(yè)獲取最新的項目需求,然后經(jīng)過挑選和精心設計,以保證既能訓練技術(shù),又能得到實際的開發(fā)經(jīng)驗。這樣實現(xiàn)了跟企業(yè)的同步,企業(yè)做什么,我們就學什么,然后也跟著做什么。
2:真流程
開發(fā)的流程也要跟企業(yè)的實際開發(fā)保持一致。從項目立項開始,到需求分析、概要設計、詳細設計、編碼、測試的各個環(huán)節(jié),都要完全按照真實的開發(fā)流程來做。
java的主力老師都是實戰(zhàn)出身,在java開發(fā)方面都至少有七年以上的開發(fā)經(jīng)驗,同時具備多年的項目管理經(jīng)驗,所以能夠完全按照企業(yè)開發(fā)的流程來訓練學生。
3:真環(huán)境
開發(fā)的環(huán)境也要跟企業(yè)一樣,包括常用的開發(fā)工具、開發(fā)平臺、應用服務器、常用插件、測試工具、項目管理工具、項目管理文檔等等。
java的做法是:構(gòu)建跟企業(yè)完全一樣的環(huán)境,然后跟企業(yè)開發(fā)一樣,分團隊開發(fā)。老師就相當于項目經(jīng)理,一個班分成多個小組,每個組有自己的team leader,大家分工合作,共同完成項目。
4:真開發(fā)
這是java最與眾不同的一點,java深知:軟件是做出來的,而不是聽出來或者看出來的,企業(yè)需要能實際開發(fā)的人員,而不是只聽過、看過但不能做的人。所以java十分強調(diào):項目一定要讓學生動手寫出來。
java的做法是:老師做為項目經(jīng)理,帶領(lǐng)著大家一起去做需求分析、概要設計、數(shù)據(jù)結(jié)構(gòu)設計、接口設計、重要業(yè)務流程的分析設計等,然后由學生們分團隊進行開發(fā),實現(xiàn)整個項目。這里有幾個與眾不同:
(1):現(xiàn)場帶領(lǐng)學生一起做分析和設計,而不是預先做好了來講講。因為需要學生學習的是分析設計的過程和方法,而不是已經(jīng)做好的結(jié)果。
(2):java選用的項目基本都是企業(yè)最新的項目,很多都是java的學生和企業(yè)在同期開發(fā),所以是不配發(fā)源代碼的。這樣也斷絕了學生的依賴思想,認認真真去開發(fā)??赡苡型瑢W會問:為什么不選擇有源代碼的項目呢,那樣還可以參考學習啊!
這是一個典型的誤區(qū):覺得通過看人家的代碼能夠加快自己的學習。這個方法對有經(jīng)驗的人來講是對的,但是對于還在學習期間,沒有經(jīng)驗的學員來講,就是一個認識的誤區(qū)了。因為你也許能看懂代碼的語法,但根本看不懂代碼背后的含義,看不懂代碼的設計,看不懂為什么要這么實現(xiàn),看不懂代碼所體現(xiàn)的思想,其實,看了跟沒看沒有多大區(qū)別。
事實上,java界最不缺的就是代碼了,那么多開源軟件,小到一個工具,到企業(yè)級erp都有開源的,而且很多都是大師級的作品,說實話比你參考的那些代碼質(zhì)量高多了,但是又有多少人能真正看明白呢,原因就在于達不到那個水平,看不懂代碼背后所體現(xiàn)的設計和思想以及為什么要這么做,效果也就不好了。
第五篇:Java程序設計實訓報告
XX學院
JAVA語言程序?qū)嵱枅蟾?/p>
專業(yè): 信息管理與信息系統(tǒng)
班級:
姓名:
學號:
指導老師:
前 言
面向?qū)ο蟪绦蛟O計是軟件編程技術(shù)中的一項非常關(guān)鍵的技術(shù)。面向?qū)ο蟪绦蛟O計中的繼承,封裝,多態(tài)等很接近于人的語言和思維,更容易讓人理解和使用。并且,面向?qū)ο蟪绦蛟O計更加符合現(xiàn)代軟件大規(guī)模開發(fā)的需求,有利于軟件使用。
Java的誕生是對傳統(tǒng)計算機模式的挑戰(zhàn),對計算機軟件開發(fā)和軟件產(chǎn)業(yè)都產(chǎn)生了深遠的影響,Java語言是面向?qū)ο蟪绦蛟O計語言中的代表,發(fā)展迅速。隨著Internet的飛速發(fā)展,Web的廣泛應用,而Java語言在Web應用方面所表現(xiàn)出來的強大特征,使得Java語言成為Web開發(fā)的主流技術(shù)。
Java是一種可以撰寫跨平臺應用軟件的面向?qū)ο蟮某绦蛟O計語言,是由Sun Microsystems公司于1995年5月推出的Java程序設計語言和Java平臺(即JavaEE, JavaME, JavaSE)的總稱。Java自面世后就非常流行,發(fā)展迅速,對C++語言形成了有力沖擊。Java 技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學超級計算機、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。
本次實訓是配合Java程序設計課程,幫助我們深入學習掌握Java語言,熟練運用這個工具來編寫的。通過課程設計各個項目的綜合訓練,不僅培養(yǎng)學生實際分析問題、編程和動手能力,而且還提高了學生的綜合素質(zhì)。
如今,我們所面臨的問題有:不能全面系統(tǒng)的、深入的掌握某種技術(shù),也就是會的挺多,但都是皮毛,不能滿足就業(yè)的需要,沒有任何實際的開發(fā)經(jīng)驗,完全是想象中學習,考試還行,一到實際開發(fā)和應用就歇菜了。解決的方法就是通過實訓和練習,對所學知識進行深化,然后通過項目來獲取實際開發(fā)的經(jīng)驗,從而彌補這些不足。我們應該明白軟件是做出來的,而不是聽出來或者看出來的,企業(yè)需要能實際開發(fā)的人員,而不是只聽過、看過但不能做的人。所以Java非常強調(diào):項目一定要讓學生動手寫出來。
希望同學們在老師的帶領(lǐng)下,能夠?qū)⒗碚撆c實踐聯(lián)系起來,把我們課本上所學到的知識運用到實踐中,在實踐中檢驗真知。
2014年6月10日
目 錄
一.實訓目的.....................................................................................二.功能分析.....................................................................................三.系統(tǒng)設計.....................................................................................四.測試數(shù)據(jù)及運行結(jié)果..................................................................五.主要源程序.................................................................................六.實訓總結(jié)與心得體會..................................................................一.實訓目的
1.掌握Java語言的面向?qū)ο筇卣?,包括Java語言中類、對象、繼承、多態(tài)、接口和內(nèi)部類,圖形繪制等重要概念及應用實踐。
2.掌握Java語言編程基礎,包括數(shù)據(jù)類型、變量、運算符、字符串、數(shù)組、控制結(jié)構(gòu)、訪問權(quán)限修飾符,基本數(shù)據(jù)類型的轉(zhuǎn)換,類的定義,對象的創(chuàng)建,通過類的對象調(diào)用類中的方法等內(nèi)容。
3.掌握如何使用Java語言編寫圖形用戶界面,利用Java豐富的圖形組件創(chuàng)建交互性較好的用戶界面。
掌握面對不同的事件處理進行不同事務處理,及每種事務處理的過程。
4.掌握如何使用不同的布局管理器,方便地設計出各種控件組織方式的界面。
掌握如何創(chuàng)建圖形的界面,如何進行圖形的繪制,怎樣對圖像進行處理。5.進一步了解java開發(fā)的相關(guān)知識,掌握java開發(fā)的基本技術(shù),豐富java開發(fā)的實戰(zhàn) 經(jīng)驗。學習有用的相關(guān)技術(shù),提高自己的學習效率和工作效率。6.鞏固Java課程所學基本知識,提高分析、判斷和處理實際問題的能力,鍛煉自己的實際動手能力,增強自己的團隊協(xié)作意識,了解軟件開發(fā)的思考角度和主要流程。為畢業(yè)之后能夠更快地進入工作狀態(tài)并且能夠更好的工作,打好一定的基礎。
7.經(jīng)過這個學期的學習后,能不能把學習的知識綜合串聯(lián)起來,java的實訓項目的制作可以有效的檢驗這一點。進行綜合項目實訓可以練習java軟件開發(fā)的環(huán)境和配置,能夠把java的面向?qū)ο蠹夹g(shù)、數(shù)據(jù)結(jié)構(gòu)、圖形界面、小應用程序等知識運用到實踐中去,從而更好地理解java的各項知識,達到能夠應用自如的地步。進行實訓的同時還需要查閱大量的文檔,可以鍛煉同學的自學能力。
二.功能分析
該黑白棋游戲主要可以實現(xiàn)黑白棋的對弈,要求有黑白兩色棋子,保存所有已下的棋子,包括在棋盤上的所有棋子和被踢掉的棋子,若落子沒有造成踢子,包括所有被這個棋子踢掉的棋子及這個棋子本身。如果踢子,則保存所有被踢的棋子,在游戲的過程中也可以顯示對戰(zhàn)雙方的當前的棋子個數(shù),提醒對戰(zhàn)雙方的時限。同時,該游戲還具有悔棋的功能。
三.系統(tǒng)設計
1.棋盤界面設計:基于Panel類定義一個面板子類,在其中利用Graphics類的drawLine()方法繪制棋盤格線,利用fillOval()方法繪制棋盤四角的星位。為面板創(chuàng)建監(jiān)聽器,為一個按鈕注冊ActionEvent事件監(jiān)聽器,實現(xiàn)單擊鼠標布子、單機一個重新開局等操作。
2.棋盤功能設計:控制面板類,包含標簽、手數(shù)、悔棋按鈕、重新開始按鈕。
3.棋盤界面的實現(xiàn)方法:通過Chesspoint類獲得實際棋子的位置。3.棋盤功能的實現(xiàn)方法:利用JFrame將棋子顯示出來,Chess對圍棋界面外觀進行初始化之后即可創(chuàng)建圍棋對象。
四.測試數(shù)據(jù)及運行結(jié)果
1.圍棋圖形用戶界面,如圖5.1所示:
圖5.1 用戶界面
2.黑白棋對弈,如圖5.2所示:
e.界面左邊的對話框提示可選擇棋盤大小功能,如圖5.3所示:
圖5.3 棋盤大小選擇界面
五.主要源程序
1.Chess類是此程序的主類之一,用來初始化棋盤的外觀: import java.awt.*;import javax.swing.JFrame;
public class Chess extends JFrame { Chessboard qipan = new Chessboard();;
// 初始化外觀
public Chess(){
this.setTitle(“圍棋程序”);
this.setLayout(new BorderLayout());
this.setSize(qipan.getSize());
public int getWidth(){ return size + controlPanel.getWidth()+ 35;} public int getHeight(){ return size;} //繪制棋盤外觀
public Chessboard(){?} public void addNotify(){
super.addNotify();
offscreen = createImage(size, size);
offg = offscreen.getGraphics();} ?? } 3.Chesspoint類用來通過x和y取得黑白棋子的位置: public class Chesspoint { public static int black=0,white=1;int x,y;int color;public Chesspoint(int i,int j,int c){
x=i;
y=j;
color=c;}
public String toString(){
String c=(color==black?“black”:“white”);
return “[”+x+“,”+y+“]:”+c;} 六.實訓總結(jié)與心得體會
通過這次的實訓,我學到了很多:首先,對JAVA識比以前有了更深的了解。在這之前由于種種原因我JAVA學的很不太好。但經(jīng)過這次的實訓,我對JAVA的理解,雖然還有很多都不懂,但我會在今后的實訓和學習中加以學習了解,力求弄懂,增強自己對JAVA的理解。其次,在這次的實訓中我的動手操作能力有了一點的提高,剛開始的時候JDK的配置,JAVA開發(fā)工具的不熟悉,所以開始的時候進程很慢,但付出定有回報,成功的配置了JDK,熟悉了JAVA開發(fā)工具,總的說來,自己還是有一定的收獲的。因為自己的動手操縱能力得到了提高。最