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

當前位置:網(wǎng)站首頁 >> 作文 >> java項目實訓日志 java項目實訓心得體會實用(四篇)

java項目實訓日志 java項目實訓心得體會實用(四篇)

格式:DOC 上傳日期:2023-06-08 08:03:53
java項目實訓日志 java項目實訓心得體會實用(四篇)
時間:2023-06-08 08:03:53     小編:zdfb

我們在一些事情上受到啟發(fā)后,,可以通過寫心得體會的方式將其記錄下來,,它可以幫助我們了解自己的這段時間的學習、工作生活狀態(tài)。我們想要好好寫一篇心得體會,,可是卻無從下手嗎,?那么下面我就給大家講一講心得體會怎么寫才比較好,,我們一起來看一看吧,。

java項目實訓日志 java項目實訓心得體會篇一

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

時鐘動畫

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

以下題目任選一個:

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

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

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

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

我所選的題目是動畫類的applet動畫程序,主要任務是用java程序設(shè)計一個時鐘動畫,。

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

1、 設(shè)計思想:

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

2,、 流程圖:

三、 程序介紹:

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

? 題目分析:

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

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

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

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

之間的聯(lián)系。

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

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

? 程序設(shè)計:

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

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

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

④完備程序功能,。

? 程序打包:

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

2,、完成情況:

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

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

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

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

“thread timer”用于顯示時鐘的線程;

“simpledateformat formatter”用于格式化時間顯示; “string lastdate”用于保存當前時間的字符串;

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

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

“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代碼準確的表達出來,老是出錯或者無法寫下去;

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

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

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

2,、 解決方法:

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

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

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

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

五、 認識,、感想,、建議:

六、 參考資料:

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

《java進階教程》

《零起點java應用編程》

《java程序設(shè)計應用基礎(chǔ)教程》

七,、 附加源程序:

import ._;

import ._;

import ._;

import ._;

public class animatordemo extends applet implements runnable

{

thread timer; // 用于顯示時鐘的線程

int lastxs, lastys, lastxm,

lastym, lastxh, lastyh;

simpledateformat formatter; //格式化時間顯示

string lastdate; // 保存當前時間的字符串

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

date currentdate; // 顯示當前時間

color handcolor; // 用于顯示時針、分針和表盤的顏色

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è)置時鐘窗口大小}

// 計算四分之一的圓弧

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è)置時鐘的表盤的中心點為(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

t(clockfacefont);

or(handcolor);

circle(xcenter,ycenter,50,g);

//畫時鐘表盤里的數(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的啟動方法

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項目實訓日志 java項目實訓心得體會篇二

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

1、項目一定要全新的項目,,不能是以前做過的

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

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

4,、在做項目的時候不應該有參考代碼

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

一:項目的地位

因為參加就業(yè)培訓的學員很多都是有一定的計算機基礎(chǔ),大部分都具備一定的編程基礎(chǔ),,尤其是在?;蛘呤莿偖厴I(yè)的學生,多少都有一些基礎(chǔ),。

他們欠缺的主要是兩點:

(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è)計,,以保證既能訓練技術(shù),,又能得到實際的開發(fā)經(jīng)驗。這樣實現(xiàn)了跟企業(yè)的同步,,企業(yè)做什么,,我們就學什么,然后也跟著做什么,。

2:真流程

開發(fā)的流程也要跟企業(yè)的實際開發(fā)保持一致,。從項目立項開始,到需求分析,、概要設(shè)計,、詳細設(shè)計、編碼,、測試的各個環(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è)計、數(shù)據(jù)結(jié)構(gòu)設(shè)計,、接口設(shè)計,、重要業(yè)務流程的分析設(shè)計等,然后由學生們分團隊進行開發(fā),,實現(xiàn)整個項目,。這里有幾個與眾不同:

(1):現(xiàn)場帶領(lǐng)學生一起做分析和設(shè)計,而不是預先做好了來講講,。因為需要學生學習的是分析設(shè)計的過程和方法,,而不是已經(jīng)做好的結(jié)果。

(2):java選用的項目基本都是企業(yè)最新的項目,,很多都是java的學生和企業(yè)在同期開發(fā),所以是不配發(fā)源代碼的,。這樣也斷絕了學生的依賴思想,認認真真去開發(fā)??赡苡型瑢W會問:為什么不選擇有源代碼的項目呢,那樣還可以參考學習啊!

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

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

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

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

5:真技術(shù)

java在每個項目中,,特別會抽取有難度的部分讓學生們在老師指導下實現(xiàn),,專門啃硬骨頭,那才能真正鍛煉學生的開發(fā)能力,。

比如:在做oa類的項目時,,會重點去做工作流、公文收發(fā),、在線office控制等;在做crm類項目時:會重點去做銷售自動化和市場塊的業(yè)務;在做人力資源類項目的時候會重點去做人力跟蹤和人力評測模型等......

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

6:真經(jīng)驗

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

7:真實力

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

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

總結(jié)

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

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

java項目實訓日志 java項目實訓心得體會篇三

一,、項目需求

本程序的主要功能:

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

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

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

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

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

二,、項目設(shè)計

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

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

(1)(主類)

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

(2)

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

1、calculatorwindow類(主類)

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

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

1)成員變量

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

2)方法

main(string args)方法是計算器程序運行的入口方法。

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

(2)代碼:

import ._;

import .event._;

import ._;

public class jisuanqi extends jframe implements actionlistener

{

private jtextfield jtresult=new jtextfield;

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

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("計算器");

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])//點擊"7"按鈕 { if(clear==false) t(""); t(t+"7"); clear=true; }if(temp==jbarray[1][0])//點擊"8"按鈕 { if(clear==false) t(""); t(t+"8"); clear=true; } if(temp==jbarray[2][0])//點擊"9"按鈕 { if(clear==false) t(""); t(t+"9"); clear=true; } if(temp==jbarray[2][3])//點擊"."按鈕 { clickable=true; for (int i = 0; i < t.length; i++) if ('.' == (i)) { clickable=false; break; } //第一層判斷是否里面含有小數(shù)點; if(clickable==true)//第二壇判斷 t(t+"."); } try { if(temp==jbarray[3][3])//點擊"+"按鈕 { qian=ouble(t); fuhao="+";clear=false; } if(temp==jbarray[3][2])//點擊"-"按鈕 { qian=ouble(t); fuhao="-"; clear=false; } if(temp==jbarray[3][1])//點擊"_"按鈕 { qian=ouble(t); fuhao="_"; clear=false; } if(temp==jbarray[3][0])//點擊"/"按鈕 { qian=ouble(t); fuhao="/"; clear=false; } if(temp==jbarray[4][3])//點擊"="按鈕 { 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])//點擊"sqrt"按鈕 { string s = t; if((0) == '-') { t("負數(shù)不能開根號"); } else t(ng((ouble(t))));} if(temp==jbarray[4][2])//點擊"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])//點擊"%"按鈕 { t("0"); clear=false; } if (temp == jbarray[1][3]) //點擊"+/-"按鈕 { boolean isnumber = true; string s = t; for (int i = 0; i < ; i++)去掉

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

(3)效果圖

三,、項目總結(jié)

本程序為java中簡單的計算器,,主要實現(xiàn)簡單的數(shù)學計算,刪除,,復位等功能,。運用java中的類,數(shù)組,成員變量等知識,,有簡單的界面,,按鈕等。

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

四,、心得體會

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

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

java項目實訓日志 java項目實訓心得體會篇四

一,、項目需求

本程序的主要功能:

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

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

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

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

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

二,、項目設(shè)計

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

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

(1)(主類)

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

(2)

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

1,、calculatorwindow類(主類)

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

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

1)成員變量

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

2)方法

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

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

(2)代碼:

import .*;

import .event.*;

import .*;

public class jisuanqi extends jframe implements actionlistener

{

private jtextfield jtresult=new jtextfield;

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

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("計算器");

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])//點擊"7"按鈕 { if(clear==false) t(""); t(t+"7"); clear=true; }if(temp==jbarray[1][0])//點擊"8"按鈕 { if(clear==false) t(""); t(t+"8"); clear=true; } if(temp==jbarray[2][0])//點擊"9"按鈕 { if(clear==false) t(""); t(t+"9"); clear=true; } if(temp==jbarray[2][3])//點擊"."按鈕 { clickable=true; for (int i = 0; i < t.length; i++) if ('.' == (i)) { clickable=false; break; } //第一層判斷是否里面含有小數(shù)點; if(clickable==true)//第二壇判斷 t(t+"."); } try { if(temp==jbarray[3][3])//點擊"+"按鈕 { qian=ouble(t); fuhao="+";clear=false; } if(temp==jbarray[3][2])//點擊"-"按鈕 { qian=ouble(t); fuhao="-"; clear=false; } if(temp==jbarray[3][1])//點擊"*"按鈕 { qian=ouble(t); fuhao="*"; clear=false; } if(temp==jbarray[3][0])//點擊"/"按鈕 { qian=ouble(t); fuhao="/"; clear=false; } if(temp==jbarray[4][3])//點擊"="按鈕 { 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])//點擊"sqrt"按鈕 { string s = t; if((0) == '-') { t("負數(shù)不能開根號"); } else t(ng((ouble(t))));} if(temp==jbarray[4][2])//點擊"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])//點擊"%"按鈕 { t("0"); clear=false; } if (temp == jbarray[1][3]) //點擊"+/-"按鈕 { boolean isnumber = true; string s = t; for (int i = 0; i < ; i++)去掉

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

(3)效果圖

三、項目總結(jié)

本程序為java中簡單的計算器,,主要實現(xiàn)簡單的數(shù)學計算,,刪除,復位等功能,。運用java中的類,,數(shù)組,成員變量等知識,,有簡單的界面,,按鈕等。

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

四,、心得體會

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

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

全文閱讀已結(jié)束,,如果需要下載本文請點擊

下載此文檔
a.付費復制
付費獲得該文章復制權(quán)限
特價:5.99元 10元
微信掃碼支付
已付款請點這里
b.包月復制
付費后30天內(nèi)不限量復制
特價:9.99元 10元
微信掃碼支付
已付款請點這里 聯(lián)系客服