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

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論