又大又粗又硬又爽又黄毛片,国产精品亚洲第一区在线观看,国产男同GAYA片大全,一二三四视频社区5在线高清

當(dāng)前位置:網(wǎng)站首頁 >> 作文 >> 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-06-08 08:03:53
java項(xiàng)目實(shí)訓(xùn)日志 java項(xiàng)目實(shí)訓(xùn)心得體會(huì)實(shí)用(四篇)
時(shí)間:2023-06-08 08:03:53     小編:zdfb

我們在一些事情上受到啟發(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é)籍、課程成績、圖書編目、倉庫貨物等數(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)畫,即使是最簡單的,但我相信這是暫時(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ì)用程序語言表達(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ù)庫系統(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é)為以下幾點(diǎn):

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

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

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

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

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

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

因?yàn)閰⒓泳蜆I(yè)培訓(xùn)的學(xué)員很多都是有一定的計(jì)算機(jī)基礎(chǔ),大部分都具備一定的編程基礎(chǔ),尤其是在校或者是剛畢業(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)的簡化和抽象,不能夠是沒有實(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)用,通常我們還不能選最簡單的項(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ì)、編碼、測試的各個(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ù)器、常用插件、測試工具、項(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)場帶領(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能看懂代碼的語法,但根本看不懂代碼背后的含義,看不懂代碼的設(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é)生們在老師指導(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)化和市場塊的業(yè)務(wù);在做人力資源類項(xiàng)目的時(shí)候會(huì)重點(diǎn)去做人力跟蹤和人力評(píng)測模型等......

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é)為以下幾點(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ù)組長度為10。numberbutton數(shù)組中的“數(shù)字按鈕”含有的數(shù)字依次為0~9。每個(gè)“數(shù)字按鈕”都注冊有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中簡單的計(jì)算器,主要實(shí)現(xiàn)簡單的數(shù)學(xué)計(jì)算,刪除,復(fù)位等功能。運(yùn)用java中的類,數(shù)組,成員變量等知識(shí),有簡單的界面,按鈕等。

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

四、心得體會(huì)

編寫一個(gè)程序,無論會(huì)實(shí)現(xiàn)什么功能,都必須掌握這門語言的要領(lǐng)、基本知識(shí)及工具的運(yùn)用,同時(shí)別的輔助工具也要有一定的了解。因此要更好的運(yùn)用java語言編程還需更深入的學(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ù)組長度為10。numberbutton數(shù)組中的“數(shù)字按鈕”含有的數(shù)字依次為0~9。每個(gè)“數(shù)字按鈕”都注冊有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中簡單的計(jì)算器,主要實(shí)現(xiàn)簡單的數(shù)學(xué)計(jì)算,刪除,復(fù)位等功能。運(yùn)用java中的類,數(shù)組,成員變量等知識(shí),有簡單的界面,按鈕等。

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

四、心得體會(huì)

編寫一個(gè)程序,無論會(huì)實(shí)現(xiàn)什么功能,都必須掌握這門語言的要領(lǐng)、基本知識(shí)及工具的運(yùn)用,同時(shí)別的輔助工具也要有一定的了解。因此要更好的運(yùn)用java語言編程還需更深入的學(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)系客服