欧美成人永久免费_欧美日本五月天_A级毛片免看在线_国产69无码,亚洲无线观看,精品人妻少妇无码视频,777无码专区,色大片免费网站大全,麻豆国产成人AV网,91视频网络,亚洲色无码自慰

當(dāng)前位置:網(wǎng)站首頁(yè) >> 作文 >> java項(xiàng)目實(shí)訓(xùn)日志 java項(xiàng)目實(shí)訓(xùn)心得體會(huì)實(shí)用(四篇)

java項(xiàng)目實(shí)訓(xùn)日志 java項(xiàng)目實(shí)訓(xùn)心得體會(huì)實(shí)用(四篇)

格式:DOC 上傳日期:2023-04-08 11:09:22
java項(xiàng)目實(shí)訓(xùn)日志 java項(xiàng)目實(shí)訓(xùn)心得體會(huì)實(shí)用(四篇)
時(shí)間:2023-04-08 11:09:22     小編:zdfb

我們?cè)谝恍┦虑樯鲜艿絾l(fā)后,,可以通過寫心得體會(huì)的方式將其記錄下來,,它可以幫助我們了解自己的這段時(shí)間的學(xué)習(xí),、工作生活狀態(tài),。我們想要好好寫一篇心得體會(huì),,可是卻無從下手嗎,?那么下面我就給大家講一講心得體會(huì)怎么寫才比較好,,我們一起來看一看吧,。

java項(xiàng)目實(shí)訓(xùn)日志 java項(xiàng)目實(shí)訓(xùn)心得體會(huì)篇一

1,、 課程設(shè)計(jì)名稱:

時(shí)鐘動(dòng)畫

2,、 課程設(shè)計(jì)的主要內(nèi)容:

以下題目任選一個(gè):

(1)圖形界面類,如科學(xué)計(jì)算器,、繪圖板,、日歷,、游戲程序等。

(2)動(dòng)畫類,,編制功能較復(fù)雜,、效果較好的applet動(dòng)畫程序。

(3)數(shù)據(jù)處理類,,如學(xué)生學(xué)籍,、課程成績(jī)、圖書編目,、倉(cāng)庫(kù)貨物等數(shù)據(jù)錄入查詢程序,。

(4)其他類型,自選題目,,須經(jīng)指導(dǎo)老師同意,。

我所選的題目是動(dòng)畫類的applet動(dòng)畫程序,主要任務(wù)是用java程序設(shè)計(jì)一個(gè)時(shí)鐘動(dòng)畫,。

二,、 程序的設(shè)計(jì)思想和流程圖:

1、 設(shè)計(jì)思想:

現(xiàn)在的各種時(shí)鐘花樣百出,,千奇百怪,,功能亦是越來越先進(jìn)了。我很喜歡這些各式各樣的時(shí)鐘,,所以希望自己也能設(shè)計(jì)出一個(gè)來,。于是,我希望自己能夠用自己所學(xué)的java知識(shí)設(shè)計(jì)出一個(gè)自己的時(shí)鐘動(dòng)畫,,即使是最簡(jiǎn)單的,,但我相信這是暫時(shí)的。只要我能夠努力學(xué)好java知識(shí),,將來一定能夠設(shè)計(jì)出更好更完美的時(shí)鐘動(dòng)畫,。

2、 流程圖:

三,、 程序介紹:

1,、設(shè)計(jì)方法及步驟 :

? 題目分析:

根據(jù)《課程設(shè)計(jì)任務(wù)書》要求,分析題目,,構(gòu)造出程序的基本思路(算法設(shè)計(jì)),。畫出程序

設(shè)計(jì)結(jié)構(gòu)框圖。

? 構(gòu)造數(shù)據(jù)結(jié)構(gòu):

根據(jù)程序結(jié)構(gòu)框圖和題目分析結(jié)果(采用算法),,構(gòu)造程序所用各項(xiàng)數(shù)據(jù),各種窗體及他們

之間的聯(lián)系,。

? 構(gòu)造程序框架:

在窗體確定之后,,根據(jù)算法設(shè)計(jì)出所用各個(gè)窗體之間的調(diào)用關(guān)系,。

? 程序設(shè)計(jì):

①畫出程序功能框圖和結(jié)構(gòu)框圖;

②根據(jù)框圖設(shè)計(jì)程序;

③編譯程序調(diào)試程序,使程序可以使用;

④完備程序功能,。

? 程序打包:

所設(shè)計(jì)程序匯總,,將程序分類歸入相應(yīng)子目錄,完成程序所有設(shè)計(jì)要求,。

2,、完成情況:

經(jīng)過一系列的java程序代碼的設(shè)計(jì),雖然過程中遇到了許多的問題,,但是最終解決了所有的問題,,準(zhǔn)確的設(shè)計(jì)出了時(shí)鐘動(dòng)畫,運(yùn)行情況正常,。

3,、類的關(guān)系:

“public class animatordemo”是公共類,且是程序中的唯一的一個(gè)類,。

4,、構(gòu)造方法、成員變量和成員方法的功能說明:

“thread timer”用于顯示時(shí)鐘的線程;

“simpledateformat formatter”用于格式化時(shí)間顯示; “string lastdate”用于保存當(dāng)前時(shí)間的字符串;

“font clockfacefont”用于設(shè)置顯示時(shí)鐘里面的數(shù)字的字體; “date currentdate”用于顯示當(dāng)前時(shí)間;

“color handcolor”用于顯示時(shí)針,、分針和表盤的顏色; “color numbercolor” 用于顯示秒針和數(shù)字的顏色; “public void init”用于設(shè)計(jì)時(shí)鐘格式并捕捉異常;

“public void plotpoints(int x0, int y0, int x, int y, graphics g)” 用于計(jì)算四分之一的圓弧;

“public void circle(int x0, int y0, int r, graphics g”) 用bresenham算法來畫圓,,其中(x0,y0)是圓的中心,r為圓半徑; “public void paint(graphics g)”用于運(yùn)行時(shí)鐘程序; “public void start” applet的啟動(dòng)方法;

“public void stop” applet的停止方法;

“public void run” 線程的run方法,。

四,、 遇到的問題和解決方法:

1、 問題:

? 寫程序的時(shí)候,,由于對(duì)有些java知識(shí)不懂,,所以有些想要表達(dá)的意思無法用java代碼準(zhǔn)確的表達(dá)出來,老是出錯(cuò)或者無法寫下去;

? 一開始,,自己準(zhǔn)備的參考資料不足,,無法在遇到問題時(shí)有效的利用參考資料解決,遇到不懂的問題和不會(huì)用程序語(yǔ)言表達(dá)的問題時(shí),,只能留在那里,,無法解決,結(jié)果問題最后越積越多,,導(dǎo)致我無法再把程序?qū)懴氯?

? 一開始,,對(duì)于老師布置的作業(yè)題目,我不太懂,,無法進(jìn)行有效而且清晰的分析,,自然也無法繼續(xù)下去寫程序了,耽誤了較多的時(shí)間;

? 對(duì)于要寫流程圖,,一開始我并不懂是什么意思,,也不知道怎么去寫,。

2、 解決方法:

? 對(duì)于那些不懂的java知識(shí)和不會(huì)寫的程序,,我通過向同學(xué)尋求幫助和利用參考資料書,,最終都解決了;

? 對(duì)于自己參考資料不足的缺點(diǎn),我在下課后,,去了圖書館借閱有關(guān)方面的java參考資料書,,并且向同學(xué)借閱了他們所擁有的資料書,然后又利用自己的電腦上網(wǎng)查找了一些有關(guān)方面的參考知識(shí),,終于在最后解決了資料不足的缺點(diǎn);

? 對(duì)于不懂的題目,,我也通過向多個(gè)同學(xué)進(jìn)行詢問,最終弄懂了老師布置的題目所要求的內(nèi)容;

? 至于流程圖,,在我向同學(xué)詢問過,,并且上網(wǎng)進(jìn)行了一番查找和咨詢后,也總算弄懂了流程圖的含義,,并努力寫了出來,。

五、 認(rèn)識(shí),、感想,、建議:

六、 參考資料:

《精通java——jdk,、數(shù)據(jù)庫(kù)系統(tǒng)開發(fā),、web開發(fā)》

《java進(jìn)階教程》

《零起點(diǎn)java應(yīng)用編程》

《java程序設(shè)計(jì)應(yīng)用基礎(chǔ)教程》

七、 附加源程序:

import ._;

import ._;

import ._;

import ._;

public class animatordemo extends applet implements runnable

{

thread timer; // 用于顯示時(shí)鐘的線程

int lastxs, lastys, lastxm,

lastym, lastxh, lastyh;

simpledateformat formatter; //格式化時(shí)間顯示

string lastdate; // 保存當(dāng)前時(shí)間的字符串

font clockfacefont; //設(shè)置顯示時(shí)鐘里面的數(shù)字的字體

date currentdate; // 顯示當(dāng)前時(shí)間

color handcolor; // 用于顯示時(shí)針,、分針和表盤的顏色

color numbercolor; // 用于顯示秒針和數(shù)字的顏色

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 = (currentdate);

clockfacefont = new font("serif", , 14);

handcolor = ;

numbercolor = ay;

try {

setbackground(new color(nt(getparameter("bgcolor"),16)));}

catch (exception e) { }

try {

handcolor = new color(nt(getparameter("fgcolor1"),16));}

catch (exception e) { }

try {

numbercolor = new color(nt(getparameter("fgcolor2"),16));} catch (exception e) { } resize(300,300); // 設(shè)置時(shí)鐘窗口大小}

// 計(jì)算四分之一的圓弧

public void plotpoints(int x0, int y0, int x, int y, graphics g)

{

ne(x0+x,y0+y,x0+x,y0+y);

ne(x0+y,y0+x,x0+y,y0+x);

ne(x0+y,y0-x,x0+y,y0-x);

ne(x0+x,y0-y,x0+x,y0-y);

ne(x0-x,y0-y,x0-x,y0-y);

ne(x0-y,y0-x,x0-y,y0-x);

ne(x0-y,y0+x,x0-y,y0+x);

ne(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",ault); try {

s = nt((currentdate));

} catch (numberformatexception n) {

s = 0;}

attern("m");

try {

m = nt((currentdate));

} catch (numberformatexception n) {

m = 10;}

attern("h");

try {

h = nt((currentdate));

} catch (numberformatexception n) {

h = 10;}

attern("eee mmm dd hh:mm:ss yyyy");

today = (currentdate);

//設(shè)置時(shí)鐘的表盤的中心點(diǎn)為(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); //畫時(shí)鐘最外面的圓盤其中心在(xcenter,ycenter)半徑為50

t(clockfacefont);

or(handcolor);

circle(xcenter,ycenter,50,g);

//畫時(shí)鐘表盤里的數(shù)字

or(numbercolor);

ring("9",xcenter-45,ycenter+3);

ring("3",xcenter+40,ycenter+3);

ring("12",xcenter-5,ycenter-37);

ring("6",xcenter-3,ycenter+45);

// 如果必要的話抹去然后重畫

or(getbackground);

if (xs != lastxs || ys != lastys) {

ne(xcenter, ycenter, lastxs, lastys);

ring(lastdate, 5, 125);}

if (xm != lastxm || ym != lastym) {

ne(xcenter, ycenter-1, lastxm, lastym);

ne(xcenter-1, ycenter, lastxm, lastym); }

if (xh != lastxh || yh != lastyh) {

ne(xcenter, ycenter-1, lastxh, lastyh);

ne(xcenter-1, ycenter, lastxh, lastyh); }

or(numbercolor);

ring("", 5, 125);

ring(today, 5, 125);

ne(xcenter, ycenter, xs, ys);

or(handcolor);

ne(xcenter, ycenter-1, xm, ym);

ne(xcenter-1, ycenter, xm, ym);

ne(xcenter, ycenter-1, xh, yh);

ne(xcenter-1, ycenter, xh, yh);

lastxs=xs; lastys=ys;

lastxm=xm; lastym=ym;

lastxh=xh; lastyh=yh;

lastdate = today;

currentdate=null;

}//applet的啟動(dòng)方法

public void start

{timer = new thread(this);

;

}// applet的停止方法

public void stop

{timer = null;

}//線程的run方法

public void run

{thread me = tthread;

while (timer == me) {

try {tthread.sleep(1000);}

catch (interruptedexception e)

repaint;}

}//注意:這里重寫了update方法,,只是調(diào)用了paint方法來消除閃爍現(xiàn)象 public void update(graphics g)

{paint(g);}

}

java項(xiàng)目實(shí)訓(xùn)日志 java項(xiàng)目實(shí)訓(xùn)心得體會(huì)篇二

作為就業(yè)培訓(xùn),,項(xiàng)目的好壞對(duì)培訓(xùn)質(zhì)量的影響非常大,常常是決定性的作用,,簡(jiǎn)單總結(jié)為以下幾點(diǎn):

1,、項(xiàng)目一定要全新的項(xiàng)目,不能是以前做過的

2,、項(xiàng)目一定要企業(yè)真實(shí)項(xiàng)目,,不能是精簡(jiǎn)以后的,不能脫離實(shí)際應(yīng)用系統(tǒng)

3,、在開發(fā)時(shí)要和企業(yè)的開發(fā)保持一致

4,、在做項(xiàng)目的時(shí)候不應(yīng)該有參考代碼

長(zhǎng)話短說就是以上幾點(diǎn),如果你想要更多的了解,可以繼續(xù)往后看,。

一:項(xiàng)目的地位

因?yàn)閰⒓泳蜆I(yè)培訓(xùn)的學(xué)員很多都是有一定的計(jì)算機(jī)基礎(chǔ),,大部分都具備一定的編程基礎(chǔ),尤其是在?;蛘呤莿偖厴I(yè)的學(xué)生,多少都有一些基礎(chǔ),。

他們欠缺的主要是兩點(diǎn):

(1)不能全面系統(tǒng)的,、深入的掌握某種技術(shù),也就是會(huì)的挺多,,但都是皮毛,,不能滿足就業(yè)的需要。

(2)沒有任何實(shí)際的開發(fā)經(jīng)驗(yàn),,完全是想象中學(xué)習(xí),,考試還行,一到實(shí)際開發(fā)和應(yīng)用就歇菜了,。

解決的方法就是通過項(xiàng)目練習(xí),,對(duì)所學(xué)知識(shí)進(jìn)行深化,然后通過項(xiàng)目來獲取實(shí)際開發(fā)的經(jīng)驗(yàn),,從而彌補(bǔ)這些不足,,盡快達(dá)到企業(yè)的實(shí)際要求。

二:如何選擇項(xiàng)目

項(xiàng)目既然那么重要,,肯定不能隨隨便便找項(xiàng)目,,那么究竟如何來選擇呢?根據(jù)java的研究和實(shí)踐經(jīng)驗(yàn)總結(jié),選擇項(xiàng)目的時(shí)候要注意以下方面:

1:項(xiàng)目不能太大,,也不能太小

這個(gè)要根據(jù)項(xiàng)目練習(xí)的階段,,練習(xí)的時(shí)間,練習(xí)的目標(biāo)來判斷,。不能太大,,太大了做不完,也不能太小,,太小了沒有意義,,達(dá)不到練習(xí)的目的。

2:項(xiàng)目不能脫離實(shí)際應(yīng)用系統(tǒng)

項(xiàng)目應(yīng)該是實(shí)際的系統(tǒng),,或者是實(shí)際系統(tǒng)的簡(jiǎn)化和抽象,,不能夠是沒有實(shí)戰(zhàn)意義的教學(xué)性或者是純練習(xí)性的項(xiàng)目。因?yàn)榕嘤?xùn)的時(shí)間有限,,必須讓學(xué)員盡快地融入到實(shí)際項(xiàng)目的開發(fā)當(dāng)中去,。任何人接受和掌握一個(gè)東西都需要時(shí)間去適應(yīng),需要重復(fù)幾次才能夠真正掌握,所以每個(gè)項(xiàng)目都必須跟實(shí)際應(yīng)用掛鉤,。

3:項(xiàng)目應(yīng)能覆蓋所學(xué)的主要知識(shí)點(diǎn)

學(xué)以致用,,學(xué)完的知識(shí)點(diǎn)需要到應(yīng)用中使用,才能夠真正理解和掌握,,再說了,,軟件開發(fā)是一個(gè)動(dòng)手能力要求很高的行業(yè),什么算會(huì)了,,那就是能夠做出來,,寫出代碼來,把問題解決了,,你就算會(huì)了,。

4:最后綜合項(xiàng)目一定要是實(shí)際應(yīng)用系統(tǒng)

學(xué)員經(jīng)過這個(gè)項(xiàng)目的練習(xí),就要走上實(shí)際的工作崗位了,,如果這個(gè)系統(tǒng)還達(dá)不到實(shí)際應(yīng)用系統(tǒng)的標(biāo)準(zhǔn),,學(xué)員練習(xí)過后也還是達(dá)不到企業(yè)實(shí)際的需要,那么這個(gè)培訓(xùn)應(yīng)該說質(zhì)量就不高了,。理想的狀況是這個(gè)項(xiàng)目就是實(shí)際項(xiàng)目,,到時(shí)候?qū)W員就業(yè)到另外一個(gè)公司,不過是換個(gè)地方干活而已,,完全沒有技能上的問題,。

三:java怎么選擇項(xiàng)目

這個(gè)不是靠想象,而是根據(jù)實(shí)際的情況一步一步分析出來的(呵呵要賣弄一下:這也算是邏輯思維),,當(dāng)然這里只是討論方法,,不涉及具體的項(xiàng)目案例。

我們可以采用倒推的方式來分析:

(1)最終的項(xiàng)目一定是真實(shí)的項(xiàng)目,,也就是要把學(xué)員訓(xùn)練到能夠獨(dú)立開發(fā)實(shí)際應(yīng)用,,通常我們還不能選最簡(jiǎn)單的項(xiàng)目,因?yàn)閷W(xué)員的吸收還要有一個(gè)折扣,,所以最終的項(xiàng)目應(yīng)該選實(shí)際項(xiàng)目中中等難度的項(xiàng)目

(2)最終項(xiàng)目定下來過后,,開始分解這個(gè)項(xiàng)目,看看為了達(dá)到完成這個(gè)項(xiàng)目需要哪些技術(shù)和知識(shí)點(diǎn),,以及每部分知識(shí)點(diǎn)的深度,,然后定出每個(gè)分階段的任務(wù)

(3)然后開始選擇分階段的項(xiàng)目,分階段的項(xiàng)目應(yīng)該比剛才分析出來的分階段任務(wù)稍稍復(fù)雜點(diǎn),,這樣才能達(dá)到訓(xùn)練的目標(biāo),。定下分階段項(xiàng)目后,同樣去分解,,定出為了完成他所需要的各部分知識(shí)點(diǎn)和深度,。

(4)然后是選擇上課期間的演示項(xiàng)目,演示的項(xiàng)目是為了做分階段項(xiàng)目服務(wù)的,可以認(rèn)為是分階段項(xiàng)目的分階段項(xiàng)目

(5)最終把要求掌握的知識(shí)點(diǎn)和要求掌握的深度,,分散到日常教學(xué)和練習(xí)中,。

好了,把上面的分析用正向描述就是:

日常教學(xué)和練習(xí)中學(xué)習(xí)和掌握的知識(shí) ==〉演示項(xiàng)目 ==〉分階段項(xiàng)目 ==〉綜合項(xiàng)目 ==〉勝任企業(yè)實(shí)際開發(fā)需要,。

附注:有了好的項(xiàng)目還要有好的訓(xùn)練方法(這個(gè)另外立文討論),,最最基本和重要的一條就是:絕對(duì)要指導(dǎo)學(xué)生親自動(dòng)手做,而不是看和聽,,所以盡量不要選擇有現(xiàn)成代碼的項(xiàng)目,,演示用的項(xiàng)目也最好不配發(fā)代碼,讓學(xué)生能夠跟著做出來才是真的掌握了,。

上面闡述了java對(duì)項(xiàng)目的態(tài)度和基本選擇方法,這里再把其中幾個(gè)重要的,、與眾不同的特點(diǎn)闡述如下:

1:真項(xiàng)目

項(xiàng)目一定要真實(shí),,要是企業(yè)實(shí)際應(yīng)用的,不能是教學(xué)性的項(xiàng)目,,否則會(huì)脫離實(shí)達(dá)不到項(xiàng)目實(shí)訓(xùn)的效果,。還有一個(gè)一定要是最新的項(xiàng)目,企業(yè)的要求也是在不斷變化的,,應(yīng)用技術(shù)的方向和層次也在不斷變化,,這些都體現(xiàn)在最新項(xiàng)目的要求上,舊項(xiàng)目所要求的技術(shù)和層次很可能已經(jīng)過時(shí)了,,根本達(dá)不到訓(xùn)練的目的,。

java的做法是:沒有固定項(xiàng)目,每個(gè)班做項(xiàng)目之前會(huì)從企業(yè)獲取最新的項(xiàng)目需求,,然后經(jīng)過挑選和精心設(shè)計(jì),,以保證既能訓(xùn)練技術(shù),又能得到實(shí)際的開發(fā)經(jīng)驗(yàn),。這樣實(shí)現(xiàn)了跟企業(yè)的同步,,企業(yè)做什么,我們就學(xué)什么,,然后也跟著做什么,。

2:真流程

開發(fā)的流程也要跟企業(yè)的實(shí)際開發(fā)保持一致。從項(xiàng)目立項(xiàng)開始,,到需求分析,、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì),、編碼,、測(cè)試的各個(gè)環(huán)節(jié),都要完全按照真實(shí)的開發(fā)流程來做。

java的主力老師都是實(shí)戰(zhàn)出身,,在java開發(fā)方面都至少有七年以上的開發(fā)經(jīng)驗(yàn),,同時(shí)具備多年的項(xiàng)目管理經(jīng)驗(yàn),所以能夠完全按照企業(yè)開發(fā)的流程來訓(xùn)練學(xué)生,。

3:真環(huán)境

開發(fā)的環(huán)境也要跟企業(yè)一樣,,包括常用的開發(fā)工具、開發(fā)平臺(tái),、應(yīng)用服務(wù)器,、常用插件、測(cè)試工具,、項(xiàng)目管理工具,、項(xiàng)目管理文檔等等。

java的做法是:構(gòu)建跟企業(yè)完全一樣的環(huán)境,,然后跟企業(yè)開發(fā)一樣,,分團(tuán)隊(duì)開發(fā)。老師就相當(dāng)于項(xiàng)目經(jīng)理,,一個(gè)班分成多個(gè)小組,,每個(gè)組有自己的team leader,大家分工合作,,共同完成項(xiàng)目,。

4:真開發(fā)

這是java最與眾不同的一點(diǎn),java深知:軟件是做出來的,,而不是聽出來或者看出來的,,企業(yè)需要能實(shí)際開發(fā)的人員,而不是只聽過,、看過但不能做的人,。所以java非常強(qiáng)調(diào):項(xiàng)目一定要讓學(xué)生動(dòng)手寫出來。

java的做法是:老師做為項(xiàng)目經(jīng)理,,帶領(lǐng)著大家一起去做需求分析,、概要設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),、接口設(shè)計(jì),、重要業(yè)務(wù)流程的分析設(shè)計(jì)等,然后由學(xué)生們分團(tuán)隊(duì)進(jìn)行開發(fā),,實(shí)現(xiàn)整個(gè)項(xiàng)目,。這里有幾個(gè)與眾不同:

(1):現(xiàn)場(chǎng)帶領(lǐng)學(xué)生一起做分析和設(shè)計(jì),而不是預(yù)先做好了來講講,。因?yàn)樾枰獙W(xué)生學(xué)習(xí)的是分析設(shè)計(jì)的過程和方法,,而不是已經(jīng)做好的結(jié)果,。

(2):java選用的項(xiàng)目基本都是企業(yè)最新的項(xiàng)目,很多都是java的學(xué)生和企業(yè)在同期開發(fā),所以是不配發(fā)源代碼的,。這樣也斷絕了學(xué)生的依賴思想,認(rèn)認(rèn)真真去開發(fā),。可能有同學(xué)會(huì)問:為什么不選擇有源代碼的項(xiàng)目呢,那樣還可以參考學(xué)習(xí)啊!

這是一個(gè)典型的誤區(qū):覺得通過看人家的代碼能夠加快自己的學(xué)習(xí),。這個(gè)方法對(duì)有經(jīng)驗(yàn)的人來講是對(duì)的,,但是對(duì)于還在學(xué)習(xí)期間,沒有經(jīng)驗(yàn)的學(xué)員來講,,就是一個(gè)認(rèn)識(shí)的誤區(qū)了,。因?yàn)槟阋苍S能看懂代碼的語(yǔ)法,但根本看不懂代碼背后的含義,,看不懂代碼的設(shè)計(jì),,看不懂為什么要這么實(shí)現(xiàn),看不懂代碼所體現(xiàn)的思想,,其實(shí),,看了跟沒看沒有多大區(qū)別。

事實(shí)上,,java界最不缺的就是代碼了,那么多開源軟件,,小到一個(gè)工具,,到企業(yè)級(jí)erp都有開源的,而且很多都是大師級(jí)的作品,說實(shí)話比你參考的那些代碼質(zhì)量高多了,但是又有多少人能真正看明白呢,原因就在于達(dá)不到那個(gè)水平,,看不懂代碼背后所體現(xiàn)的設(shè)計(jì)和思想以及為什么要這么做,,效果也就不好了。

當(dāng)然不排除有這樣的高人是能夠完全能理解和掌握這些大師級(jí)作品的,,但估計(jì)不會(huì)是剛開始學(xué)習(xí)java開發(fā)的學(xué)生,,所以java根據(jù)多年的培訓(xùn)經(jīng)驗(yàn),友情提示:在初學(xué)階段,,看一千遍,,聽一千遍,都不如自己動(dòng)手寫一遍所達(dá)到的學(xué)習(xí)效果,。自己能寫出來的功能才是你真正掌握的功能,,而不是你看得代碼或者是聽老師講的,就算講過看過,,但是自己做不出來,,那都不算會(huì)。

(3):java在課堂上除了帶領(lǐng)學(xué)生去分析設(shè)計(jì)外,,還會(huì)分析一些重點(diǎn),、難點(diǎn)功能的實(shí)現(xiàn)機(jī)制和原理,,然后指導(dǎo)學(xué)生去實(shí)現(xiàn)。

5:真技術(shù)

java在每個(gè)項(xiàng)目中,,特別會(huì)抽取有難度的部分讓學(xué)生們?cè)诶蠋熤笇?dǎo)下實(shí)現(xiàn),,專門啃硬骨頭,,那才能真正鍛煉學(xué)生的開發(fā)能力,。

比如:在做oa類的項(xiàng)目時(shí),會(huì)重點(diǎn)去做工作流,、公文收發(fā),、在線office控制等;在做crm類項(xiàng)目時(shí):會(huì)重點(diǎn)去做銷售自動(dòng)化和市場(chǎng)塊的業(yè)務(wù);在做人力資源類項(xiàng)目的時(shí)候會(huì)重點(diǎn)去做人力跟蹤和人力評(píng)測(cè)模型等......

java在每個(gè)項(xiàng)目中,,都會(huì)使用目前企業(yè)最新最流行的技術(shù),按照最新的難度去要求,,從而讓學(xué)員能更符合企業(yè)的需要,。

6:真經(jīng)驗(yàn)

java的項(xiàng)目都是企業(yè)最新的真實(shí)項(xiàng)目,經(jīng)過開發(fā)訓(xùn)練,,學(xué)員能夠積累足夠的真實(shí)的開發(fā)經(jīng)驗(yàn),,以勝任企業(yè)的工作需要。在進(jìn)行項(xiàng)目分析時(shí),,還會(huì)全面講解項(xiàng)目所要求的業(yè)務(wù),,讓學(xué)員從業(yè)務(wù)和技術(shù)上都能充分積累。

7:真實(shí)力

作為就業(yè)培訓(xùn),,項(xiàng)目的好壞對(duì)培訓(xùn)質(zhì)量的影響非常大,,常常是決定性的作用。這篇文章是關(guān)于在學(xué)習(xí)java軟件開發(fā)時(shí)練習(xí)項(xiàng)目的總結(jié),,簡(jiǎn)單總結(jié)為以下幾點(diǎn):事實(shí)上,,不采用有源代碼的教學(xué)性項(xiàng)目對(duì)java的要求非常高。 試想一下,,如果項(xiàng)目分發(fā)下去,,老師帶著分析后,學(xué)生都不會(huì)做會(huì)出現(xiàn)什么樣的后果?這對(duì)java的教學(xué)質(zhì)量提出了極高的要求,,如果教學(xué)質(zhì)量達(dá)不到讓學(xué)員獨(dú)立開發(fā)的水平,,對(duì)依靠質(zhì)量取勝和口碑發(fā)展的java將是毀滅性的。

另外一個(gè),,由于是全真的項(xiàng)目,,在開發(fā)的過程中,肯定會(huì)有很多的問題出現(xiàn),,這些都要老師去解決,,由于不像教學(xué)項(xiàng)目那樣預(yù)先做好,又需要老師能很快地解決各個(gè)問題,,這對(duì)老師的真實(shí)開發(fā)水平有極高的要求,,這可是需要真功夫的,。

總結(jié)

總之,java通過真實(shí)的項(xiàng)目,,真實(shí)的開發(fā)環(huán)境和開發(fā)流程,,指導(dǎo)學(xué)員去真正開發(fā),讓學(xué)員得到真正的鍛煉,,收獲真正的開發(fā)能力,。

有了真正的開發(fā)能力==>能夠勝任企業(yè)的實(shí)際需要==>高薪好工作。

java項(xiàng)目實(shí)訓(xùn)日志 java項(xiàng)目實(shí)訓(xùn)心得體會(huì)篇三

一,、項(xiàng)目需求

本程序的主要功能:

(1)單擊“計(jì)算器”上的數(shù)字按鈕(0~9)可以設(shè)置參與計(jì)算的運(yùn)算數(shù),。

(2)單擊“計(jì)算器”上的運(yùn)算符按鈕(+、-,、_,、/、1/x,、sqrt,、%)可以選擇運(yùn)算符號(hào)。

(3)單擊“計(jì)算器”上的“=”按鈕顯示計(jì)算結(jié)果,。

(4)單擊“計(jì)算器”上的“復(fù)位”按鈕清空計(jì)算結(jié)果,。

(5)單擊“計(jì)算器”上的“刪除”按鈕刪除輸入的最后一個(gè)數(shù)字。

二,、項(xiàng)目設(shè)計(jì)

在設(shè)計(jì)計(jì)算器時(shí),,編寫2個(gè)java源文件:、計(jì)算器除了上述java源文件所給出的類外,,還需要java系統(tǒng)提供的一些重要類,如jbutton,,jtextfield等,。

下面是2個(gè)java源文件的總體設(shè)計(jì)。

(1)(主類)

calculatorwindow類負(fù)責(zé)創(chuàng)建計(jì)算器的主窗口,,該類含有main方法,,計(jì)算器從該類開始執(zhí)行。calculatorwindow類有4種類型的對(duì)象,,分別是:linkedlist,、numberbutton、jbutton,、jtextfield,。

(2)

numberbutton類創(chuàng)建的對(duì)象是主類calculatorwindow窗口的一個(gè)“數(shù)字”按鈕。numberbutton有一個(gè)int類型的成員temp,,用于標(biāo)明所創(chuàng)建的按鈕所含有的運(yùn)算符號(hào),。numberbutton所創(chuàng)建的22個(gè)按鈕被添加到calculatorwindow窗口中,。

1、calculatorwindow類(主類)

(1)數(shù)據(jù)和方法

包中jframe的一個(gè)字類,,并實(shí)現(xiàn)了actionlistener接口,。類中有關(guān)數(shù)據(jù)和方法的詳細(xì)說明。

1)成員變量

jbarray是numberbutton型數(shù)組,,每個(gè)單元是一個(gè)numberbutton類創(chuàng)建的“數(shù)字按鈕”對(duì)象,,該數(shù)組長(zhǎng)度為10。numberbutton數(shù)組中的“數(shù)字按鈕”含有的數(shù)字依次為0~9,。每個(gè)“數(shù)字按鈕”都注冊(cè)有actionevent事件監(jiān)聽器,。

2)方法

main(string args)方法是計(jì)算器程序運(yùn)行的入口方法。

calculatorwindow是構(gòu)造方法,,負(fù)責(zé)完成窗口的初始化,。

(2)代碼:

import ._;

import .event._;

import ._;

public class jisuanqi extends jframe implements actionlistener

{

private jtextfield jtresult=new jtextfield;

private jbutton jb_clear=new jbutton("復(fù)位");

private jbutton jb_delete=new jbutton("刪除");

private static jbutton jbarray={{new jbutton("7"),new jbutton("4"),new jbutton("1"),new jbutton("0")},

{new jbutton("8"),new jbutton("5"),new jbutton("2"),new jbutton("+/-")},

{new jbutton("9"),new jbutton("6"),new jbutton("3"),new jbutton(".")},

{new jbutton("/"),new jbutton("_"),new jbutton("-"),new jbutton("+")},

{new jbutton("sqrt"),new jbutton("%"),new jbutton("1/x"),new jbutton("=")}

};

int first=0;

double qian;

string fuhao;

boolean clear=true,clickable=true;

public jisuanqi

{

setframe;

addlistener;

}

public void setframe

{

out(null);

le("計(jì)算器");

nds(120,100,310,30);

table(false);

izontalalignment();(jtresult); nds(290,150,60,30); (jb_clear); for(int i=0;i

{ if(clear==false) t(""); t(t+"6"); clear=true; } if(temp==jbarray[0][0])//點(diǎn)擊"7"按鈕 { if(clear==false) t(""); t(t+"7"); clear=true; }if(temp==jbarray[1][0])//點(diǎn)擊"8"按鈕 { if(clear==false) t(""); t(t+"8"); clear=true; } if(temp==jbarray[2][0])//點(diǎn)擊"9"按鈕 { if(clear==false) t(""); t(t+"9"); clear=true; } if(temp==jbarray[2][3])//點(diǎn)擊"."按鈕 { clickable=true; for (int i = 0; i < t.length; i++) if ('.' == (i)) { clickable=false; break; } //第一層判斷是否里面含有小數(shù)點(diǎn); if(clickable==true)//第二壇判斷 t(t+"."); } try { if(temp==jbarray[3][3])//點(diǎn)擊"+"按鈕 { qian=ouble(t); fuhao="+";clear=false; } if(temp==jbarray[3][2])//點(diǎn)擊"-"按鈕 { qian=ouble(t); fuhao="-"; clear=false; } if(temp==jbarray[3][1])//點(diǎn)擊"_"按鈕 { qian=ouble(t); fuhao="_"; clear=false; } if(temp==jbarray[3][0])//點(diǎn)擊"/"按鈕 { qian=ouble(t); fuhao="/"; clear=false; } if(temp==jbarray[4][3])//點(diǎn)擊"="按鈕 { double ss=ouble(t); t(""); if(fuhao=="+") t(qian+ss+""); if(fuhao=="-") t(qian-ss+""); if(fuhao=="_") t(qian_ss+""); if(fuhao=="/") t(qian/ss+""); clear=false;//要清空前一次的數(shù)據(jù) } if(temp==jbarray[4][0])//點(diǎn)擊"sqrt"按鈕 { string s = t; if((0) == '-') { t("負(fù)數(shù)不能開根號(hào)"); } else t(ng((ouble(t))));} if(temp==jbarray[4][2])//點(diǎn)擊"1/x"按鈕 { if ((0) == '0'&&t.length == 1) { t("除數(shù)不能為零"); } else { boolean isdec = true; int i, j, k; string s = ng(1 / ouble(t)); for (i = 0; i < ; i++) if ((i) == '.') break; for (j = i + 1; j < ; j++) if ((j) != '0') { isdec = false; break; } if (isdec == true) { string stemp = ""; for (k = 0; k < i; k++) stemp += (k); t(stemp); } else t(s); } clear=false; } if(temp==jbarray[4][1])//點(diǎn)擊"%"按鈕 { t("0"); clear=false; } if (temp == jbarray[1][3]) //點(diǎn)擊"+/-"按鈕 { boolean isnumber = true; string s = t; for (int i = 0; i < ; i++)去掉

} { isnumber = false; break; } if (isnumber == true) { //如果當(dāng)前字符串首字母有'-'號(hào),代表現(xiàn)在是個(gè)負(fù)數(shù),再按下時(shí),則將首符號(hào) if((0) == '-') { t(""); for (int i = 1; i < ; i++) { char a = (i); t(t + a); } } //如果當(dāng)前字符串第一個(gè)字符不是符號(hào),則添加一個(gè)符號(hào)在首字母處 else t('-' + s); } } } catch(exception eee) { n("運(yùn)算時(shí),首先輸入數(shù)字或字符"); t("運(yùn)算出錯(cuò)"); clear=false; } } public static void main(string args) { new jisuanqi; }

(3)效果圖

三,、項(xiàng)目總結(jié)

本程序?yàn)閖ava中簡(jiǎn)單的計(jì)算器,,主要實(shí)現(xiàn)簡(jiǎn)單的數(shù)學(xué)計(jì)算,刪除,,復(fù)位等功能,。運(yùn)用java中的類,數(shù)組,,成員變量等知識(shí),,有簡(jiǎn)單的界面,按鈕等,。

本程序還存在一定的缺陷,,功能簡(jiǎn)單,界面還需美化等,。

四,、心得體會(huì)

編寫一個(gè)程序,無論會(huì)實(shí)現(xiàn)什么功能,,都必須掌握這門語(yǔ)言的要領(lǐng),、基本知識(shí)及工具的運(yùn)用,同時(shí)別的輔助工具也要有一定的了解,。因此要更好的運(yùn)用java語(yǔ)言編程還需更深入的學(xué)習(xí),,這樣才能把一個(gè)程序的功能實(shí)現(xiàn)的淋漓盡致,界面才會(huì)更加美觀,。

同時(shí)編寫這個(gè)程序讓我更好的理解了數(shù)組,、類的運(yùn)用及事件的監(jiān)聽和獲取等功能。

java項(xiàng)目實(shí)訓(xùn)日志 java項(xiàng)目實(shí)訓(xùn)心得體會(huì)篇四

一,、項(xiàng)目需求

本程序的主要功能:

(1)單擊“計(jì)算器”上的數(shù)字按鈕(0~9)可以設(shè)置參與計(jì)算的運(yùn)算數(shù),。

(2)單擊“計(jì)算器”上的運(yùn)算符按鈕(+,、-、*,、/,、1/x、sqrt,、%)可以選擇運(yùn)算符號(hào),。

(3)單擊“計(jì)算器”上的“=”按鈕顯示計(jì)算結(jié)果。

(4)單擊“計(jì)算器”上的“復(fù)位”按鈕清空計(jì)算結(jié)果,。

(5)單擊“計(jì)算器”上的“刪除”按鈕刪除輸入的最后一個(gè)數(shù)字,。

二、項(xiàng)目設(shè)計(jì)

在設(shè)計(jì)計(jì)算器時(shí),,編寫2個(gè)java源文件:,、計(jì)算器除了上述java源文件所給出的類外,還需要java系統(tǒng)提供的一些重要類,,如jbutton,,jtextfield等。

下面是2個(gè)java源文件的總體設(shè)計(jì),。

(1)(主類)

calculatorwindow類負(fù)責(zé)創(chuàng)建計(jì)算器的主窗口,,該類含有main方法,計(jì)算器從該類開始執(zhí)行,。calculatorwindow類有4種類型的對(duì)象,,分別是:linkedlist、numberbutton,、jbutton,、jtextfield。

(2)

numberbutton類創(chuàng)建的對(duì)象是主類calculatorwindow窗口的一個(gè)“數(shù)字”按鈕,。numberbutton有一個(gè)int類型的成員temp,,用于標(biāo)明所創(chuàng)建的按鈕所含有的運(yùn)算符號(hào)。numberbutton所創(chuàng)建的22個(gè)按鈕被添加到calculatorwindow窗口中,。

1,、calculatorwindow類(主類)

(1)數(shù)據(jù)和方法

包中jframe的一個(gè)字類,,并實(shí)現(xiàn)了actionlistener接口,。類中有關(guān)數(shù)據(jù)和方法的詳細(xì)說明。

1)成員變量

jbarray是numberbutton型數(shù)組,,每個(gè)單元是一個(gè)numberbutton類創(chuàng)建的“數(shù)字按鈕”對(duì)象,,該數(shù)組長(zhǎng)度為10。numberbutton數(shù)組中的“數(shù)字按鈕”含有的數(shù)字依次為0~9,。每個(gè)“數(shù)字按鈕”都注冊(cè)有actionevent事件監(jiān)聽器,。

2)方法

main(string args)方法是計(jì)算器程序運(yùn)行的入口方法,。

calculatorwindow是構(gòu)造方法,負(fù)責(zé)完成窗口的初始化,。

(2)代碼:

import .*;

import .event.*;

import .*;

public class jisuanqi extends jframe implements actionlistener

{

private jtextfield jtresult=new jtextfield;

private jbutton jb_clear=new jbutton("復(fù)位");

private jbutton jb_delete=new jbutton("刪除");

private static jbutton jbarray={{new jbutton("7"),new jbutton("4"),new jbutton("1"),new jbutton("0")},

{new jbutton("8"),new jbutton("5"),new jbutton("2"),new jbutton("+/-")},

{new jbutton("9"),new jbutton("6"),new jbutton("3"),new jbutton(".")},

{new jbutton("/"),new jbutton("*"),new jbutton("-"),new jbutton("+")},

{new jbutton("sqrt"),new jbutton("%"),new jbutton("1/x"),new jbutton("=")}

};

int first=0;

double qian;

string fuhao;

boolean clear=true,clickable=true;

public jisuanqi

{

setframe;

addlistener;

}

public void setframe

{

out(null);

le("計(jì)算器");

nds(120,100,310,30);

table(false);

izontalalignment();(jtresult); nds(290,150,60,30); (jb_clear); for(int i=0;i

{ if(clear==false) t(""); t(t+"6"); clear=true; } if(temp==jbarray[0][0])//點(diǎn)擊"7"按鈕 { if(clear==false) t(""); t(t+"7"); clear=true; }if(temp==jbarray[1][0])//點(diǎn)擊"8"按鈕 { if(clear==false) t(""); t(t+"8"); clear=true; } if(temp==jbarray[2][0])//點(diǎn)擊"9"按鈕 { if(clear==false) t(""); t(t+"9"); clear=true; } if(temp==jbarray[2][3])//點(diǎn)擊"."按鈕 { clickable=true; for (int i = 0; i < t.length; i++) if ('.' == (i)) { clickable=false; break; } //第一層判斷是否里面含有小數(shù)點(diǎn); if(clickable==true)//第二壇判斷 t(t+"."); } try { if(temp==jbarray[3][3])//點(diǎn)擊"+"按鈕 { qian=ouble(t); fuhao="+";clear=false; } if(temp==jbarray[3][2])//點(diǎn)擊"-"按鈕 { qian=ouble(t); fuhao="-"; clear=false; } if(temp==jbarray[3][1])//點(diǎn)擊"*"按鈕 { qian=ouble(t); fuhao="*"; clear=false; } if(temp==jbarray[3][0])//點(diǎn)擊"/"按鈕 { qian=ouble(t); fuhao="/"; clear=false; } if(temp==jbarray[4][3])//點(diǎn)擊"="按鈕 { double ss=ouble(t); t(""); if(fuhao=="+") t(qian+ss+""); if(fuhao=="-") t(qian-ss+""); if(fuhao=="*") t(qian*ss+""); if(fuhao=="/") t(qian/ss+""); clear=false;//要清空前一次的數(shù)據(jù) } if(temp==jbarray[4][0])//點(diǎn)擊"sqrt"按鈕 { string s = t; if((0) == '-') { t("負(fù)數(shù)不能開根號(hào)"); } else t(ng((ouble(t))));} if(temp==jbarray[4][2])//點(diǎn)擊"1/x"按鈕 { if ((0) == '0'&&t.length == 1) { t("除數(shù)不能為零"); } else { boolean isdec = true; int i, j, k; string s = ng(1 / ouble(t)); for (i = 0; i < ; i++) if ((i) == '.') break; for (j = i + 1; j < ; j++) if ((j) != '0') { isdec = false; break; } if (isdec == true) { string stemp = ""; for (k = 0; k < i; k++) stemp += (k); t(stemp); } else t(s); } clear=false; } if(temp==jbarray[4][1])//點(diǎn)擊"%"按鈕 { t("0"); clear=false; } if (temp == jbarray[1][3]) //點(diǎn)擊"+/-"按鈕 { boolean isnumber = true; string s = t; for (int i = 0; i < ; i++)去掉

} { isnumber = false; break; } if (isnumber == true) { //如果當(dāng)前字符串首字母有'-'號(hào),代表現(xiàn)在是個(gè)負(fù)數(shù),再按下時(shí),則將首符號(hào) if((0) == '-') { t(""); for (int i = 1; i < ; i++) { char a = (i); t(t + a); } } //如果當(dāng)前字符串第一個(gè)字符不是符號(hào),,則添加一個(gè)符號(hào)在首字母處 else t('-' + s); } } } catch(exception eee) { n("運(yùn)算時(shí),首先輸入數(shù)字或字符"); t("運(yùn)算出錯(cuò)"); clear=false; } } public static void main(string args) { new jisuanqi; }

(3)效果圖

三、項(xiàng)目總結(jié)

本程序?yàn)閖ava中簡(jiǎn)單的計(jì)算器,,主要實(shí)現(xiàn)簡(jiǎn)單的數(shù)學(xué)計(jì)算,,刪除,復(fù)位等功能,。運(yùn)用java中的類,,數(shù)組,成員變量等知識(shí),,有簡(jiǎn)單的界面,,按鈕等。

本程序還存在一定的缺陷,,功能簡(jiǎn)單,,界面還需美化等。

四,、心得體會(huì)

編寫一個(gè)程序,,無論會(huì)實(shí)現(xiàn)什么功能,都必須掌握這門語(yǔ)言的要領(lǐng),、基本知識(shí)及工具的運(yùn)用,,同時(shí)別的輔助工具也要有一定的了解。因此要更好的運(yùn)用java語(yǔ)言編程還需更深入的學(xué)習(xí),,這樣才能把一個(gè)程序的功能實(shí)現(xiàn)的淋漓盡致,,界面才會(huì)更加美觀。

同時(shí)編寫這個(gè)程序讓我更好的理解了數(shù)組,、類的運(yùn)用及事件的監(jiān)聽和獲取等功能,。

全文閱讀已結(jié)束,如果需要下載本文請(qǐng)點(diǎn)擊

下載此文檔
你可能感興趣的文章
a.付費(fèi)復(fù)制
付費(fèi)獲得該文章復(fù)制權(quán)限
特價(jià):5.99元 10元
微信掃碼支付
已付款請(qǐng)點(diǎn)這里
b.包月復(fù)制
付費(fèi)后30天內(nèi)不限量復(fù)制
特價(jià):9.99元 10元
微信掃碼支付
已付款請(qǐng)點(diǎn)這里 聯(lián)系客服