版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE2課程設(shè)計(jì)題目:java計(jì)算器設(shè)計(jì)報(bào)告學(xué)生姓名:學(xué)號(hào):學(xué)院:專業(yè):指導(dǎo)教師:摘要Java具有面向?qū)ο?、與平臺(tái)無關(guān)、安全、穩(wěn)定和多線程等優(yōu)良特性,是目前軟件設(shè)計(jì)中優(yōu)秀的編程語言。Java不僅可以用來開發(fā)大型的應(yīng)用程序,而且特別適合于internet應(yīng)用的開發(fā)。Java確實(shí)具備了“一旦寫成處處可用”的特點(diǎn),這也是java最初風(fēng)靡全球的主要原因。Java是一門正在被廣泛使用的編程語言,而且許多的新的技術(shù)領(lǐng)域都涉及了java語言,java已成為了網(wǎng)絡(luò)時(shí)代最重要的編程語言之一。Java是面向?qū)ο缶幊?,并涉及網(wǎng)絡(luò)、多線程等重要的基礎(chǔ)知識(shí),是一門很好的面向?qū)ο笳Z言。通過學(xué)習(xí)java語言不僅可以學(xué)習(xí)怎樣使用對(duì)象來完成某些任務(wù)、掌握面向?qū)ο缶幊痰幕舅枷耄乙矠榻窈筮M(jìn)一步學(xué)習(xí)設(shè)計(jì)模式奠定較好的語言基礎(chǔ)。本計(jì)算器是由java語言所編程設(shè)計(jì)的電子計(jì)算器,可以進(jìn)行四則運(yùn)算(加、減、乘、除)、開平方、求倒數(shù)、求百分?jǐn)?shù)等功能。通過本課程設(shè)計(jì)能夠較全面的掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的有關(guān)概念和開發(fā)方法,以便能較全面地理解、掌握和綜合運(yùn)用所學(xué)的知識(shí),提高自身的編程能力。關(guān)鍵詞:java語言,計(jì)算器PAGE10
目錄一、概述41.設(shè)計(jì)目的及思路42.功能模塊設(shè)計(jì)43.系統(tǒng)功能圖4二、計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)51、程序界面52、程序源代碼5三、計(jì)算器演示8四、總結(jié)9五、參考文獻(xiàn)10一、概述1.設(shè)計(jì)目的及思路通過本課程設(shè)計(jì)能夠較全面的掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的有關(guān)概念和開發(fā)方法,以便能較全面地理解、掌握和綜合運(yùn)用所學(xué)的知識(shí),提高自身的編程能力。首先開始設(shè)計(jì)一個(gè)計(jì)算器的界面,定義計(jì)算器所需要的按鈕并賦給其按鈕名稱,使得使用計(jì)算器時(shí)簡(jiǎn)單明了,清晰可見,操作輕松。給各個(gè)按鈕進(jìn)行算法,利用鼠標(biāo)點(diǎn)擊事件,當(dāng)鼠標(biāo)點(diǎn)擊某個(gè)按鈕時(shí)就開始執(zhí)行那個(gè)按鈕所定義的算法,生成數(shù)據(jù)并顯示。除數(shù)字的輸入為直接進(jìn)行輸入外,其他運(yùn)算例如+、-、*、/、開平方等算法要求計(jì)算時(shí)通過內(nèi)部較為復(fù)雜的運(yùn)算將結(jié)果顯示在顯示屏上。2.功能模塊設(shè)計(jì)計(jì)算器的基本功能:(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ì)算器”上的“清除”按鈕清空計(jì)算結(jié)果。(5)單擊“計(jì)算器”上的“退格”按鈕刪除輸入的最后一個(gè)數(shù)字。3.系統(tǒng)功能圖加法運(yùn)算開平方運(yùn)算加法運(yùn)算開平方運(yùn)算計(jì)算器減法運(yùn)算倒數(shù)運(yùn)算計(jì)算器減法運(yùn)算倒數(shù)運(yùn)算乘法運(yùn)算乘法運(yùn)算百分?jǐn)?shù)運(yùn)算百分?jǐn)?shù)運(yùn)算除法運(yùn)算除法運(yùn)算二、計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)1.程序界面2.程序源代碼importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassJCalculatorextendsJFrameimplementsActionListener{/***SerialVersionUID*/privatestaticfinallongserialVersionUID=-169068472193786457L;/***ThisclasshelpclosetheWindow.*/privateclassWindowCloserextendsWindowAdapter{publicvoidwindowClosing(WindowEventwe){System.exit(0);}}inti;//StringsforDigit&Operatorbuttons.privatefinalString[]str={"7","8","9","/","4","5","6","*","1","2","3","-",".","0","=","+"};//Buildbuttons.JButton[]buttons=newJButton[str.length];//Forcancelorreset.JButtonreset=newJButton("CE");//Buildthetextfieldtoshowtheresult.JTextFielddisplay=newJTextField("0");/***Constructorwithoutparameters.*/publicJCalculator(){super("Calculator");//Addapanel.JPanelpanel1=newJPanel(newGridLayout(4,4));//panel1.setLayout(newGridLayout(4,4));for(i=0;i<str.length;i++){buttons[i]=newJButton(str[i]);panel1.add(buttons[i]);}JPanelpanel2=newJPanel(newBorderLayout());//panel2.setLayout(newBorderLayout());panel2.add("Center",display);panel2.add("East",reset);//JPanelpanel3=newPanel();getContentPane().setLayout(newBorderLayout());getContentPane().add("North",panel2);getContentPane().add("Center",panel1);//Addactionlistenerforeachdigit&operatorbutton.for(i=0;i<str.length;i++)buttons[i].addActionListener(this);//Addlistenerfor"reset"button.reset.addActionListener(this);//Addlistenerfor"display"button.display.addActionListener(this);//The"close"button"X".addWindowListener(newWindowCloser());//Initializethewindowsize.setSize(800,800);//Showthewindow.//show();Usingshow()whileJDKversionisbelow1.5.setVisible(true);//Fitthecertainsize.pack();}publicvoidactionPerformed(ActionEvente){Objecttarget=e.getSource();Stringlabel=e.getActionCommand();if(target==reset)handleReset();elseif("0123456789.".indexOf(label)>0)handleNumber(label);elsehandleOperator(label);}//Isthefirstdigitpressed?booleanisFirstDigit=true;/***Numberhandling.*@paramkeythekeyofthebutton.*/publicvoidhandleNumber(Stringkey){if(isFirstDigit)display.setText(key);elseif((key.equals("."))&&(display.getText().indexOf(".")<0))display.setText(display.getText()+".");elseif(!key.equals("."))display.setText(display.getText()+key);isFirstDigit=false;}/***Resetthecalculator.*/publicvoidhandleReset(){display.setText("0");isFirstDigit=true;operator="=";}doublenumber=0.0;Stringoperator="=";/***Handlingtheoperation.*@paramkeypressedoperator'skey.*/publicvoidhandleOperator(Stringkey){if(operator.equals("+"))number+=Double.valueOf(display.getText());elseif(operator.equals("-"))number-=Double.valueOf(display.getText());elseif(operator.equals("*"))number*=Double.valueOf(display.getText());elseif(operator.equals("/"))number/=Double.valueOf(display.getText());elseif(operator.equals("="))number=Double.valueOf(display.getText());display.setText(String.valueOf(number));operator=key;isFirstDigit=true;}publicstaticvoidmain(String[]args){newJCalculator();}}三、計(jì)算器演示1.加法2.減法1+4+79-3乘法4.除法5*6121/11倒數(shù)6.開平方1/2√16
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商鋪房子轉(zhuǎn)讓合同范例
- 標(biāo)牌 廣告制作合同范例
- 商鋪?zhàn)赓U合租合同范例
- 施工合同范例及解讀
- 個(gè)人合伙建房合同范例
- 商鋪?zhàn)杂赊D(zhuǎn)租合同范例
- 地面裝飾石材工程合同范例
- 屋面維修驗(yàn)收合同范例
- 小鎮(zhèn)房屋租賃合同范例
- 合同范例下劃線
- 醫(yī)院與陪護(hù)公司的協(xié)議范文
- 古琴介紹(英文)(部編)課件
- DL-T5704-2014火力發(fā)電廠熱力設(shè)備及管道保溫防腐施工質(zhì)量驗(yàn)收規(guī)程
- 2024年山東省煙臺(tái)市中考道德與法治試題卷
- 女性生殖健康與疾病智慧樹知到期末考試答案章節(jié)答案2024年山東中醫(yī)藥大學(xué)
- (高清版)JGT 225-2020 預(yù)應(yīng)力混凝土用金屬波紋管
- 2023-2024學(xué)年四川省綿陽市九年級(jí)上冊(cè)期末化學(xué)試題(附答案)
- 心電圖進(jìn)修匯報(bào)
- 中醫(yī)科進(jìn)修總結(jié)匯報(bào)
- 初中英語比較級(jí)和最高級(jí)專項(xiàng)練習(xí)題含答案
- 激光技術(shù)在能源、環(huán)保、農(nóng)業(yè)等領(lǐng)域的應(yīng)用
評(píng)論
0/150
提交評(píng)論