java實訓報告總結範文
- 個人工作總結
- 關注:1.88W次
Java語言程式設計是大部分高校計算機專業的一門核心能力課,Java實訓操作又是達成其教學效果的重要環節和有效手段。本文是小編為大家整理的java實訓報告範文,僅供參考。現在,一起來看看吧!
java實訓報告範文一
一、實訓目的
1.熟練掌握Java面向物件程式設計的基礎知識。
2.熟練掌握Java中常用的Swing元件的使用方法。
3.熟練掌握Java程式中圖形使用者介面設計的方法。
4.熟練掌握使用JDBC操作資料庫的方法。
5.通過實訓,培養學生分析和解決實際問題的能力,提高除錯和分析應用程式的能力,併為後續Java高階程式設計等專業課程的學習奠定良好的基礎。
二、課程設計報告內容
2.1 實訓內容
本課程設計的題目是設計一個簡化的圖書管理系統。該系統從圖書館管理人員的角度出發,實現對圖書資訊、讀者資訊的瀏覽、新增、刪除和查詢,同時還可以對讀者借書、還書過程進行操作和控制。設計內容主要包括系統分析、資料庫、資料表的建立、系統各個窗體的佈局及其編碼實現。
系統功能分析是在系統開發的總體任務的基礎上完成的。該管理系統需要完成的基本功能主要有:
使用者管理:主要包括使用者的新增、修改和刪除。
讀者管理:主要包括讀者資訊的瀏覽、新增、刪除和查詢。
圖書管理:主要包括圖書資訊的瀏覽、新增、刪除和查詢。
借還書管理:主要包括借書、還書和續借。
2.2 實訓裝置或軟、硬體
硬體:PⅣ及以上效能的PC機;
軟體:Windows 20xx或Windows XP系統;JDK工具;JCreator4.0環境
2.3 功能設計及思想
首先設計測試登入視窗:
接下來設計(登入視窗)、MainFrame(主窗體)
(圖書入庫視窗)、(新增讀者視窗)、(新增使用者視窗)、(借書視窗)、(還書視窗)、(圖書查詢視窗)。
匯入部分及實現的介面
三、結論
Java實訓在不知不覺中就結束了,我感覺自己還有好多東西要學,還有好多的東西不懂呢!這是我大學以來第3次實訓,每次實訓我都感覺學到了好多東西!因為是一天到晚的不間斷訓練,所以記的會非常牢固。不像平時上課,每上兩次的理論課卻只有45分鐘的實際操作。在課上,有老師在前面演示我們都還能跟著做,可輪到我們獨立完成的時候,因為實際操作的少,早就忘光了!我很感謝學校有實訓這樣的安排,把我們這一學期學的東西系統的集中的進行訓練,對我們計算機水平的提高發揮著重要作用!還要感謝我們的侯老師,侯老師學識淵博,也很有耐心,即使老師講了很多遍的問題,我們不會,老師還是會走進我們給我們耐心的指導,還給我們講一些學習java的方法,讓我們知道自己在哪方面不足,需要加強,也讓我們瞭解到哪些需要認真的學習,那些是重點,不是沒有方向的亂學一通,什麼也學不好!
經過這次的實訓,我真真確確的感受到了這些開發工具能讓我們提高工作的效率,更直觀更便捷的切入主題。這次我們學習的是製作圖書資訊管理系統,由老師給我們指導。當然,在學習的過程中並不是一帆風順的,在這之中,因為要操作的東西很多,有時錯一步,後面的結果就無法顯示,而自己的耐心與細心又太差,根本檢查不出來是哪裡出了錯!這時候,侯老師都會耐心的過來幫助我,我很感謝侯老師也很感謝學校能安排這麼優秀的侯老師來教我們!只是,我們太頑皮,有很多東西老師講了我們也沒能記住,我想在此說一句:老師,您辛苦了,下學期我們一定認認真真的好好學!
實訓課是在學習與探索中度過的,短暫的15天實訓是結束了,但其中讓我們學到了許多知識,出現許多未知的為什麼,如圖書管理資料庫的初步設定、JDBC和SQL Server伺服器的連線、資料備份與還原的步驟,報表的設計與實現、如何設定資料來源、通過ADO訪問資料庫的方法、監聽器、各種Java Swing元件的使用,繫結控制元件的屬性設定、如何實現Click事件、實現它的獲得方法、設定註冊焦點
監聽器、獲取當前日期、以及利用函式之間的相互轉換等等一系列的問題,正是在老師和同學的共同努力之下,我才一步步把問題解決了,最終完成了不可能完成的任務。
為期15天的實訓課就這樣結束了,我發現我對java有了新的認識,以前只知道玩遊戲、娛樂和簡單的應用。通過這次的實訓,我瞭解到,要真真正正的掌握這些開發工具還不是一件簡單容易的事兒,但真正掌握後,它帶個我們的將是無窮的便捷與科技,我喜歡高階便捷的生活。我希望我能做計算機這個萬能機器人的主人而不是奴隸,我會努力加油的!
通過實訓,我不僅鞏固了舊知識,也學到了新的知識,並且把所學的應用到實際操作中,提高了我們的實際動手能力和邏輯思維能力。也讓我們對軟體開發的流程有一定了解,並且對開發軟體有了一些初步的經驗。真正做到了學習與實際應用相結合,真的很感謝老師為我們爭取的這次實訓機會,在這次實訓期間我獲益匪淺。
最後,謝謝老師在實習過程給予的幫助!老師辛苦了!感謝學校,感謝老師給我的幫助,讓我的思想、技能又上了一個臺階!
四、結束語
《Java圖書管理系統專案》心得:
其實在學習圖書管理系統實訓時,我們就已經開展了SQL的學習,雖然它們之間存在不同,但是屬於同一種語言——計算機語言,但是實際上呢!它們的思想是不同的,JAVA只是一種面嚮物件語言,而該專案實戰是教我們如何製作一個實用型的軟體,從實際出發,一步一步的按照老師的規定進行,按正規模式的方式製作軟體,從初期的專案分析,書寫可行性報告,到專案分工,最後開始書寫程式碼,一天一天的寫程式設計日記,把每一天遇到或完成的事情記錄下來,一步步設計完成自已的工作,想象自己是一個程式設計師,我主要完成介面及其程式碼的設計,而其中有很多東西是我們所不知道,正向所有程式設計人員一樣,我們是邊學邊作,而且書寫程式碼的速度要很快,因為一個專案不應該在書寫程式碼的方面浪費時間,在這期間很訓練人,因為每天寫程式碼時,都寫的一身熱汗,著急呀!可是當完成每天的任務,而多完成時有很大的成就感了,這當然是一個心裡成就了,因為我暫時還沒有寫完這個程式了。說真的,我寫完這個圖書資訊管理系統時,真的感覺很累了,不過又很輕鬆了,因為終於完成了,不過在看了其他同學設計的程式時,心裡也感到眾多不足,因為我們設計的程式,在判斷某些輸入資料時,總是不嚴謹,可能給日後使用者帶來很多不方便,而且在日後的維護工作會很大,這樣的程式,作為一個日後的程式設計師是不應該出現的。
其中,對了SQL語言的使用是相當的重要的,因為沒有了SQL語言的支援,對資料庫表的操作,是根本無法實現的,對資料的增加、刪除、修改,都是一樣的。發現對於軟體來說,對資料庫的操作是至關重要的,因為有很多軟體都是這樣的,無論是什麼都要對資料進行操作,統計、分類、查詢、修改、刪除等,而正因為這樣,我在開始寫程式時的SQL基礎不好,所以出現在眾多難題,而翻書查尋便是經常事情了,因為知識用到時方恨少了,其實我感覺用JAVA設計圖形介面,是很費勁的,嗯„„用它作手機遊戲看起來還不錯,或者用它網路B/S、都是很好的,因為它就是為了網路而生的。總的來說,對於開展這樣的實用型專案,我個人認為是非常重要的,這種實訓突破了以前我的思維模式和慣性作法,以前對於程式來說,一開始就製作從來也不計劃,如果遇到了與想象中的不一樣的難題,就把這部分刪除掉,最近製作出來的程式,往往是功能不完善、功能不明確,沒有具體的規劃和文件,到最後讓別人很難理解,自已也是很難弄明白。沒有一個良好的程式設計思想,當然了學習專案實戰後,丟掉了那樣壞毛病,建立了良好的設計思想和程式設計過程。有很多不理解現在變成了現在的理解感謝,因為往往一些正確的思想,總是一開始不被人接受,而到最近時才會被理解認同,我也這樣認為了。
通過這次的訓練,掌握運用了java程式設計的一些思想,瞭解了Java面向物件程式設計的基礎知識,熟練掌握了Java中常用的Swing元件的使用方法以及Java程式中圖形使用者介面設計的方法、使用JDBC操作資料庫的方法。初步瞭解瞭如何將複雜的問題層層分析成較小的子問題,實現Java程式設計的實際操作,掌握如何運用Java解決一些常見的程式設計問題,並學會、掌握分析解決問題的方法,並運用Java的程式結合自己對Java程式的初步認識與理解進行對照,查詢自己與Java程式設計的偏差與不足之處,培養自己Java的思維。
本次實訓專案通過分析並實現了圖書管理系統。本系統的設計讓大家瞭解如何根據實際問題,分析功能需求,將複雜的問題分析成子問題,達到模組化設計系統功能的目標。同時,可以利用這種方法制作通訊錄管理、課程管理、工資管理、圖書管理等小型管理系統,此外,此次實訓培養了我們java 的思維能力,讓我們對java有了更深層次的學習與理解,通過兩週的實訓可以去解決一些簡單的程式設計問題,並對其出現的錯誤能以與改正和討論同時,也對以前自己朦朧而不解的問題有了很好的理解,也知道了一些貴重的資料為何要施加密碼,如銀行卡。對java的理論有了更深的理解,同時也可以運用本次的實訓設定一些簡單的系統,
總之,我們從這次的實訓中受益匪淺,我對這次實訓還是比較滿意的,它使我學到了很多東西、學到了更深刻的知識,為我以後的學習做了引導,點明瞭方向,我相信在不遠的未來定會有屬於我們自己的一片美好天空!漫漫長路任我行,我需踏實腳下的路,一步步的前行。用現在的付出和汗水去勾畫未來美好的明天。
最後,在侯老師的細心輔導下,我有了很大的進步,知識得到了擴充,認識得到了加深,也使得我的自學能力得到了很大的提高,在此,我向侯老師表示由衷地感謝。
老師您辛苦了!
java實訓報告範文二
一、 課程設計名稱及主要內容:
1、 課程設計名稱:
時鐘動畫
2、 課程設計的主要內容:
以下題目任選一個:
(1)圖形介面類,如科學計算器、繪圖板、日曆、遊戲程式等。
(2)動畫類,編制功能較複雜、效果較好的Applet動畫程式。
(3)資料處理類,如學生學籍、課程成績、圖書編目、倉庫貨物等資料錄入查詢程式。
(4)其他型別,自選題目,須經指導老師同意。
我所選的題目是動畫類的Applet動畫程式,主要任務是用Java程式設計一個時鐘動畫。
二、 程式的設計思想和流程圖:
1、 設計思想:
現在的各種時鐘花樣百出,千奇百怪,功能亦是越來越先進了。我很喜歡這些各式各樣的時鐘,所以希望自己也能設計出一個來。於是,我希望自己能夠用自己所學的Java知識設計出一個自己的時鐘動畫,即使是最簡單的,但我相信這是暫時的。只要我能夠努力學好Java知識,將來一定能夠設計出更好更完美的時鐘動畫。
2、 流程圖:
三、 程式介紹:
1、設計方法及步驟 :
題目分析:
根據《課程設計任務書》要求,分析題目,構造出程式的基本思路(演算法設計)。畫出程式
設計結構框圖。
構造資料結構:
根據程式結構框圖和題目分析結果(採用演算法),構造程式所用各項資料,各種窗體及他們
之間的聯絡。
構造程式框架:
在窗體確定之後,根據演算法設計出所用各個窗體之間的呼叫關係。
程式設計:
①畫出程式功能框圖和結構框圖;
②根據框圖設計程式;
③編譯程式除錯程式,使程式可以使用;
④完備程式功能。
程式打包:
所設計程式彙總,將程式分類歸入相應子目錄,完成程式所有設計要求。
2、完成情況:
經過一系列的Java程式程式碼的設計,雖然過程中遇到了許多的問題,但是最終解決了所有的問題,準確的設計出了時鐘動畫,執行情況正常。
3、類的關係:
“public class AnimatorDemo”是公共類,且是程式中的唯一的一個類。
4、構造方法、成員變數和成員方法的功能說明:
“Thread timer”用於顯示時鐘的執行緒;
“SimpleDateFormat formatter”用於格式化時間顯示; “String lastdate”用於儲存當前時間的字串;
“Font clockFaceFont”用於設定顯示時鐘裡面的數字的字型; “Date currentDate”用於顯示當前時間;
“Color handColor”用於顯示時針、分針和錶盤的顏色; “Color numberColor” 用於顯示秒針和數字的顏色; “public void init”用於設計時鐘格式並捕捉異常;
“public void plotpoints(int x0, int y0, int x, int y, Graphics g)” 用於計算四分之一的圓弧;
“public void circle(int x0, int y0, int r, Graphics g”) 用Bresenham演算法來畫圓,其中(x0,y0)是圓的中心,r為圓半徑; “public void paint(Graphics g)”用於執行時鐘程式; “public void start” applet的啟動方法;
“public void stop” applet的停止方法;
“public void run” 執行緒的run方法。
四、 遇到的問題和解決方法:
1、 問題:
寫程式的時候,由於對有些Java知識不懂,所以有些想要表達的意思無法用Java程式碼準確的表達出來,老是出錯或者無法寫下去;
一開始,自己準備的參考資料不足,無法在遇到問題時有效的利用參考資料解決,遇到不懂的問題和不會用程式語言表達的問題時,只能留在那裡,無法解決,結果問題最後越積越多,導致我無法再把程式寫下去;
一開始,對於老師佈置的作業題目,我不太懂,無法進行有效而且清晰的分析,自然也無法繼續下去寫程式了,耽誤了較多的時間;
對於要寫流程圖,一開始我並不懂是什麼意思,也不知道怎麼去寫。
2、 解決方法:
對於那些不懂的Java知識和不會寫的程式,我通過向同學尋求幫助和利用參考資料書,最終都解決了;
對於自己參考資料不足的缺點,我在下課後,去了圖書館借閱有關方面的Java參考資料書,並且向同學借閱了他們所擁有的資料書,然後又利用自己的電腦上網查找了一些有關方面的參考知識,終於在最後解決了資料不足的缺點;
對於不懂的題目,我也通過向多個同學進行詢問,最終弄懂了老師佈置的題目所要求的內容;
至於流程圖,在我向同學詢問過,並且上網進行了一番查詢和諮詢後,也總算弄懂了流程圖的含義,並努力寫了出來。
五、 認識、感想、建議:
六、 參考資料:
《精通Java——JDK、資料庫系統開發、Web開發》
《Java進階教程》
《零起點Java應用程式設計》
《Java程式設計應用基礎教程》
七、 附加源程式:
import .*;
import .*;
import et.*;
import .*;
public class AnimatorDemo extends Applet implements Runnable
{
Thread timer; // 用於顯示時鐘的執行緒
int lastxs, lastys, lastxm,
lastym, lastxh, lastyh;
SimpleDateFormat formatter; //格式化時間顯示
String lastdate; // 儲存當前時間的字串
Font clockFaceFont; //設定顯示時鐘裡面的數字的字型
Date currentDate; // 顯示當前時間
Color handColor; // 用於顯示時針、分針和錶盤的顏色
Color numberColor; // 用於顯示秒針和數字的顏色
public void init
{
int x,y;
lastxs = lastys = lastxm = lastym = lastxh = lastyh = 0;
formatter = new SimpleDateFormat ("yyyy EEE MMM dd hh:mm:ss ");
currentDate = new Date;
lastdate = at(currentDate);
clockFaceFont = new Font("Serif", N, 14);
handColor = ;
numberColor = Gray;
try {
setBackground(new Color(eInt(getParameter("bgcolor"),16)));}
catch (Exception E) { }
try {
handColor = new Color(eInt(getParameter("fgcolor1"),16));}
catch (Exception E) { }
try {
numberColor = new Color(eInt(getParameter("fgcolor2"),16));} catch (Exception E) { } resize(300,300); // 設定時鐘視窗大小}
// 計算四分之一的圓弧
public void plotpoints(int x0, int y0, int x, int y, Graphics g)
{
Line(x0+x,y0+y,x0+x,y0+y);
Line(x0+y,y0+x,x0+y,y0+x);
Line(x0+y,y0-x,x0+y,y0-x);
Line(x0+x,y0-y,x0+x,y0-y);
Line(x0-x,y0-y,x0-x,y0-y);
Line(x0-y,y0-x,x0-y,y0-x);
Line(x0-y,y0+x,x0-y,y0+x);
Line(x0-x,y0+y,x0-x,y0+y);}
// 用Bresenham演算法來畫圓,其中(x0,y0)是圓的中心,r為圓半徑
public void circle(int x0, int y0, int r, Graphics g)
{
int x,y;
float d;
x=0;
y=r;
d=5/4-r;
plotpoints(x0,y0,x,y,g);
while(y>x){
if (d<0) {
d=d+2*x+3;
x++;}
else {
d=d+2*(x-y)+5;
x++;
y--;}
plotpoints(x0,y0,x,y,g);}}
public void paint(Graphics g)
{int xh, yh, xm, ym, xs, ys, s = 0, m = 10, h = 10, xcenter, ycenter; String today;
currentDate = new Date;
SimpleDateFormat formatter = new SimpleDateFormat("s",efault); try {
s = eInt(at(currentDate));
} catch (NumberFormatException n) {
s = 0;}
yPattern("m");
try {
m = eInt(at(currentDate));
} catch (NumberFormatException n) {
m = 10;}
yPattern("h");
try {
h = eInt(at(currentDate));
} catch (NumberFormatException n) {
h = 10;}
yPattern("EEE MMM dd HH:mm:ss yyyy");
today = at(currentDate);
//設定時鐘的錶盤的中心點為(80,55)
xcenter=80;
ycenter=55;
// a= s* pi/2 - pi/2 (to switch 0,0 from 3:00 to 12:00)
// x = r(cos a) + xcenter, y = r(sin a) + ycenter
xs = (int)((s * 3.14f/30 - 3.14f/2) * 45 + xcenter);
ys = (int)((s * 3.14f/30 - 3.14f/2) * 45 + ycenter);
xm = (int)((m * 3.14f/30 - 3.14f/2) * 40 + xcenter);
ym = (int)((m * 3.14f/30 - 3.14f/2) * 40 + ycenter);
xh = (int)(((h*30 + m/2) * 3.14f/180 - 3.14f/2) * 30 + xcenter); yh = (int)(((h*30 + m/2) * 3.14f/180 - 3.14f/2) * 30 + ycenter); //畫時鐘最外面的圓盤其中心在(xcenter,ycenter)半徑為50
ont(clockFaceFont);
olor(handColor);
circle(xcenter,ycenter,50,g);
//畫時鐘錶盤裡的數字
olor(numberColor);
String("9",xcenter-45,ycenter+3);
String("3",xcenter+40,ycenter+3);
String("12",xcenter-5,ycenter-37);
String("6",xcenter-3,ycenter+45);
// 如果必要的話抹去然後重畫
olor(getBackground);
if (xs != lastxs || ys != lastys) {
Line(xcenter, ycenter, lastxs, lastys);
String(lastdate, 5, 125);}
if (xm != lastxm || ym != lastym) {
Line(xcenter, ycenter-1, lastxm, lastym);
Line(xcenter-1, ycenter, lastxm, lastym); }
if (xh != lastxh || yh != lastyh) {
Line(xcenter, ycenter-1, lastxh, lastyh);
Line(xcenter-1, ycenter, lastxh, lastyh); }
olor(numberColor);
String("", 5, 125);
String(today, 5, 125);
Line(xcenter, ycenter, xs, ys);
olor(handColor);
Line(xcenter, ycenter-1, xm, ym);
Line(xcenter-1, ycenter, xm, ym);
Line(xcenter, ycenter-1, xh, yh);
Line(xcenter-1, ycenter, xh, yh);
lastxs=xs; lastys=ys;
lastxm=xm; lastym=ym;
lastxh=xh; lastyh=yh;
lastdate = today;
currentDate=null;
}//applet的啟動方法
public void start
{timer = new Thread(this);
t;
}// applet的停止方法
public void stop
{timer = null;
}//執行緒的run方法
public void run
{Thread me = entThread;
while (timer == me) {
try {p(1000);}
catch (InterruptedException e)
repaint;}
}//注意:這裡重寫了update方法,只是呼叫了paint方法來消除閃爍現象 public void update(Graphics g)
{paint(g);}
}
- 文章版權屬於文章作者所有,轉載請註明 https://wjfww.com/zh-tw/zongjie/gerenfanwen/l44goz.html