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

下載本文檔

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

文檔簡介

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

2、單擊事件方法actionPerformed(ActionEvent e)(計算功能算法)流程圖。第三部分 詳細設(shè)計3.1 calculator()函數(shù)(計算器版面設(shè)計)流程圖:開始新建計算器窗口f新建菜單創(chuàng)建菜單項并添加至菜單新建并設(shè)置文本行textp新建并設(shè)置緩存區(qū)mcache新建并設(shè)置計算器上button并注冊監(jiān)聽器新建面板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注冊事件監(jiān)聽器Winclose結(jié)束3.2處理按鈕單擊事件方法actionPerformed(ActionEvent e)(計算器計算功能算法)流程圖:開始Textp.setText(“0”Str.setLength(0)YN單擊”CE”單擊”C”Textp.setText(“0”Str.setLength(0)NY單擊”+/-“將textp中數(shù)據(jù)正負變號單擊”+”將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長度為1去掉textp數(shù)據(jù)的最后一位,并將str的長度減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é)束第四部分 運行效果圖4.1運行初始圖: 4.2 計算功能測試圖: -1+23.44.2 數(shù)學分組功能測試圖: 第五部分 心得與體會5.1 Java是一門實踐性很強的編程語言,每學習到一個新的知識點應(yīng)當及時動手編寫程序,提高動手能力,加深對語言的理解。5.2 根據(jù)Java圖形用戶界面設(shè)計方法設(shè)計計算器版面有很多種設(shè)計方法,學習過程中應(yīng)靈活變通,使版面的設(shè)計更簡單易懂。5.3 本次設(shè)計的計算器還有不足之處,首先還沒有實現(xiàn)科學型的計算功能,其次還沒有鍵盤輸入功能,因此還應(yīng)繼續(xù)努力,更加完善計算器的功能。第六部分 附錄 6.1計算器計算功能算法(按鈕&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ù)學分組功能) 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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論