Java課程設(shè)計(jì)報(bào)告-計(jì)算器(共10頁(yè))_第1頁(yè)
Java課程設(shè)計(jì)報(bào)告-計(jì)算器(共10頁(yè))_第2頁(yè)
Java課程設(shè)計(jì)報(bào)告-計(jì)算器(共10頁(yè))_第3頁(yè)
Java課程設(shè)計(jì)報(bào)告-計(jì)算器(共10頁(yè))_第4頁(yè)
Java課程設(shè)計(jì)報(bào)告-計(jì)算器(共10頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上Java課程設(shè)計(jì)報(bào)告-計(jì)算器第一部分 設(shè)計(jì)的內(nèi)容要求1.1 Windows自帶計(jì)算器版面設(shè)計(jì)1.2計(jì)算器計(jì)算功能算法實(shí)現(xiàn)第二部分 設(shè)計(jì)思想2.1根據(jù)圖形用戶界面設(shè)計(jì)方法設(shè)計(jì)計(jì)算器版面。容器類(窗口-Window類 ,面板-Panel類),框架類-Frame,Button類,Label類,TextField類等類的構(gòu)造方法,菜單(菜單欄、菜單項(xiàng))的建立于應(yīng)用。事件處理機(jī)制:監(jiān)聽(tīng)器類WinClose(),actionPerformed()。 2.2計(jì)算器計(jì)算功能實(shí)現(xiàn),即按鈕監(jiān)聽(tīng)器的實(shí)現(xiàn)自定義變量: x,y為操作數(shù),op為操作符。根據(jù)單擊按鈕不同進(jìn)行不同的操作,詳見(jiàn)處理按鈕

2、單擊事件方法actionPerformed(ActionEvent e)(計(jì)算功能算法)流程圖。第三部分 詳細(xì)設(shè)計(jì)3.1 calculator()函數(shù)(計(jì)算器版面設(shè)計(jì))流程圖:開(kāi)始新建計(jì)算器窗口f新建菜單創(chuàng)建菜單項(xiàng)并添加至菜單新建并設(shè)置文本行textp新建并設(shè)置緩存區(qū)mcache新建并設(shè)置計(jì)算器上button并注冊(cè)監(jiān)聽(tīng)器新建面板p0 p1 p2 p3將textp添加至p0,并設(shè)置p0大小將”backspace”CE”C”添加至p1,并設(shè)置p1大小及布局將”MC”MR”MS”M+”添加至p2,并設(shè)置p2大小及布局將其他button添加至p3,并設(shè)置p3大小及布局將面板p0 p1 p2 p3添加至

3、f 設(shè)置窗口f的屬性為f注冊(cè)事件監(jiān)聽(tīng)器Winclose結(jié)束3.2處理按鈕單擊事件方法actionPerformed(ActionEvent e)(計(jì)算器計(jì)算功能算法)流程圖:開(kāi)始Textp.setText(“0”Str.setLength(0)YN單擊”CE”單擊”C”Textp.setText(“0”Str.setLength(0)NY單擊”+/-“將textp中數(shù)據(jù)正負(fù)變號(hào)單擊”+”將textp中數(shù)據(jù)賦給x,str.setLength(0)y=0,op=0NYNY單擊”-“將textp中數(shù)據(jù)賦給x,str.setLength(0)y=0,op=1將textp中數(shù)據(jù)賦給x,str.setLe

4、ngth(0)y=0,op=2單擊”*”NYNYY單擊”%”NNNNYYY將textp中數(shù)據(jù)乘以0.01y=0單擊”1/x”textp中數(shù)據(jù)為0給textp賦”除數(shù)不能為0”將textp中數(shù)據(jù)取倒數(shù)str.setLength(0);y=0單擊”0”textp中數(shù)據(jù)為0NNNYYY在textp中數(shù)據(jù)后加”0”,并賦值給y單擊”backspace”textp中數(shù)據(jù)為0str長(zhǎng)度為1去掉textp數(shù)據(jù)的最后一位,并將str的長(zhǎng)度減1將textp賦0,str.setLength(0)N將textp中數(shù)據(jù)賦給yNY單擊”1”9”將單擊數(shù)字插入到textp中數(shù)據(jù)后,并將textp中數(shù)據(jù)賦給y將textp賦

5、0,并str.stelength(0);結(jié)束第四部分 運(yùn)行效果圖4.1運(yùn)行初始圖: 4.2 計(jì)算功能測(cè)試圖: -1+23.44.2 數(shù)學(xué)分組功能測(cè)試圖: 第五部分 心得與體會(huì)5.1 Java是一門(mén)實(shí)踐性很強(qiáng)的編程語(yǔ)言,每學(xué)習(xí)到一個(gè)新的知識(shí)點(diǎn)應(yīng)當(dāng)及時(shí)動(dòng)手編寫(xiě)程序,提高動(dòng)手能力,加深對(duì)語(yǔ)言的理解。5.2 根據(jù)Java圖形用戶界面設(shè)計(jì)方法設(shè)計(jì)計(jì)算器版面有很多種設(shè)計(jì)方法,學(xué)習(xí)過(guò)程中應(yīng)靈活變通,使版面的設(shè)計(jì)更簡(jiǎn)單易懂。5.3 本次設(shè)計(jì)的計(jì)算器還有不足之處,首先還沒(méi)有實(shí)現(xiàn)科學(xué)型的計(jì)算功能,其次還沒(méi)有鍵盤(pán)輸入功能,因此還應(yīng)繼續(xù)努力,更加完善計(jì)算器的功能。第六部分 附錄 6.1計(jì)算器計(jì)算功能算法(按鈕&quo

6、t;="): 專心-專注-專業(yè) if(e.getSource()=b26) / "=" str.setLength(0); switch(op) case 0 : if(flag=1) textp.setText(String.valueOf(x+y); else str.setLength(0); str.append(x+y); fun(); break; case 1 : if(flag=1) textp.setText(String.valueOf(x-y); else str.setLength(0); str.append(x-y); fun(); b

7、reak; case 2 : if(flag=1) textp.setText(String.valueOf(x*y); else str.setLength(0); str.append(x*y); fun(); break; case 3 : if(y=0) textp.setText("除數(shù)不能為零"); str.setLength(0); y=0; else if(flag=1) textp.setText(String.valueOf(x/y); else str.setLength(0); str.append(x/y); fun(); break; 6.2 f

8、un()函數(shù)(數(shù)學(xué)分組功能) public void fun() flag=0; int t=0; StringBuffer temp; String sstr=str.toString(); if(sstr.trim().indexOf("-")=1) temp=new StringBuffer(str.substring(1); t=1; else temp=new StringBuffer(str.substring(0); if(sstr.trim().indexOf(".")=-1) int j=temp.length(); for(int i

9、=j;i>3;) temp.insert(i-3,","); i=i-3; if(t=0) textp.setText(temp.toString(); else textp.setText('-'+temp.toString(); else int i=sstr.indexOf('.'); StringBuffer s1=new StringBuffer(sstr.substring(0,i); StringBuffer s2=new StringBuffer(sstr.substring(i+1); for(int j=s1.length();j>3;) s1.insert(j-3,",")

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論