Java計(jì)算器課程設(shè)計(jì)報(bào)告_第1頁(yè)
Java計(jì)算器課程設(shè)計(jì)報(bào)告_第2頁(yè)
Java計(jì)算器課程設(shè)計(jì)報(bào)告_第3頁(yè)
Java計(jì)算器課程設(shè)計(jì)報(bào)告_第4頁(yè)
Java計(jì)算器課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩8頁(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)介

PAGEPAGE2石家莊職業(yè)技術(shù)學(xué)院課程設(shè)計(jì)報(bào)告計(jì)算器應(yīng)用程序?qū)W生姓名:指導(dǎo)教師:系別:專(zhuān)業(yè):年級(jí):論文提交時(shí)間:年月日目錄TOC\o"1-1"\h\z\u一概述 2二總體方案設(shè)計(jì) 3三詳細(xì)設(shè)計(jì) 4四程序的調(diào)試與運(yùn)行結(jié)果說(shuō)明 7五課程設(shè)計(jì)總結(jié) 9六附錄 10一概述1.程序具備的功能:(1)使用圖形用戶界面:一個(gè)文本框;0-9數(shù)字按鈕;加、減、乘、除運(yùn)算符;“等于”符號(hào);復(fù)位按鈕;(2)完成整數(shù)、實(shí)數(shù)的四則運(yùn)算(加、減、乘、除);(3)通過(guò)按鈕點(diǎn)擊實(shí)現(xiàn)數(shù)據(jù)的復(fù)位(清零);(4)實(shí)數(shù)運(yùn)算中小數(shù)位的精度一致。2.課程設(shè)計(jì)的主要設(shè)計(jì)思想對(duì)于此計(jì)算器程序,首先要設(shè)計(jì)其GUI界面,總體界面有一個(gè)文本框,18個(gè)按鈕,總體界面用BorderLayout布局。文本框放置在最NORTH,然后0到9以及+,-,*,/的按鈕放置到一個(gè)面板Panel中,添加到整體布局的CENTER,界面設(shè)計(jì)完成。布局設(shè)計(jì)好后再添加按鈕事件。對(duì)于此程序要考慮到點(diǎn)擊加、減、乘、除按鈕時(shí)是否有點(diǎn)擊數(shù)字按鈕,如果是第一次點(diǎn)擊數(shù)字按鈕或者是點(diǎn)擊數(shù)字按鈕前點(diǎn)擊了加、減、乘、除按鈕則直接把數(shù)字按鈕的數(shù)值設(shè)置到文本框中,否則則應(yīng)把文本框中的內(nèi)容加上你所點(diǎn)擊按鈕的數(shù)值設(shè)置到文本框中。在進(jìn)行加、減、乘、除計(jì)算時(shí)要把點(diǎn)擊加、減、乘、除按鈕之前的數(shù)值保存下來(lái),運(yùn)算時(shí)是這個(gè)被保存下來(lái)的數(shù)值和文本框中的數(shù)值加、減、乘、除。二總體方案設(shè)計(jì)1.界面設(shè)計(jì)界面設(shè)計(jì)要求用GUI,界面設(shè)計(jì)中有用到swing組件的TextField和Button,用到awt中的BorderLayout和GridLayout布局管理方式,其圖形界面如下:2.功能介紹這是計(jì)算器中的一種:簡(jiǎn)單計(jì)算器,本項(xiàng)目用到了Java中的GUI界面和swing組件以及awt布局,所以簡(jiǎn)單易用,它能完成如下的幾個(gè)小功能:點(diǎn)擊按鈕中的數(shù)字鍵和運(yùn)算符鍵就能進(jìn)行簡(jiǎn)單的加、乘、乘、除求模四則運(yùn)算;還能通過(guò)用戶自己在文本框中輸入數(shù)字,進(jìn)行簡(jiǎn)單運(yùn)算;如果輸入有誤時(shí)可以按Clear撤銷(xiāo)后重新輸入新數(shù)據(jù)三詳細(xì)設(shè)計(jì)程序流程圖如下:部分代碼展示及說(shuō)明:這段代碼主要是對(duì)程序的主框架進(jìn)行相應(yīng)的設(shè)置。Framef=newFrame("計(jì)算器");f.setBackground(Color.lightGray);f.setForeground(Color.blue);f.add(p1,BorderLayout.NORTH);f.add(p2,BorderLayout.CENTER);f.add(p3,BorderLayout.SOUTH);f.setSize(350,300);//設(shè)置大小f.setVisible(true);//設(shè)置為可視這段代碼是對(duì)程序如何進(jìn)行運(yùn)算的設(shè)計(jì)if(y==0&&command!="*"&&command!="/"&&command!="+"&&command!="-"&&command!="=")//判斷輸入是否為數(shù)字{s1=s1.concat(command);tf.setText(s1);}if(command=="*"||command=="/"||command=="+"||command=="-")//判斷是否輸入運(yùn)算符{y=1;s2=command;}if(y==1&&command!="*"&&command!="/"&&command!="+"&&command!="-"&&command!="="){s3=s3.concat(command);tf.setText(s3);}if(command=="="){Doubleob1=Double.valueOf(s1);Doubleob3=Double.valueOf(s3);d1=ob1.doubleValue();d3=ob3.doubleValue();if(s2=="+")d4=d1+d3;if(s2=="-")d4=d1-d3;if(s2=="*")d4=d1*d3;Doubleob4=newDouble(d4);tf.setText(ob4.toString());if(s2=="/"){if(d3==0)tf.setText("除數(shù)不能為零");else{d4=d1/d3;ob4=newDouble(d4);tf.setText(ob4.toString());}}y=0;}這段代碼主要為窗口關(guān)閉按鈕編寫(xiě)程序classcloseWinextendsWindowAdapter//為關(guān)閉按鈕編寫(xiě)程序{publicvoidwindowClosing(WindowEvente){System.exit(0);}}四程序的調(diào)試與運(yùn)行結(jié)果說(shuō)明事例1當(dāng)除數(shù)為0時(shí),程序運(yùn)行結(jié)果如下:事例2:4561+8715預(yù)計(jì)結(jié)果13276實(shí)際結(jié)果事例3:189/2預(yù)計(jì)結(jié)果94.5實(shí)際結(jié)果:事例4:29-87預(yù)計(jì)結(jié)果-58實(shí)際結(jié)果:五課程設(shè)計(jì)總結(jié)在做本項(xiàng)目是時(shí)候,會(huì)遇到很多小問(wèn)題,比如說(shuō):如何保存輸入的數(shù)字和下一個(gè)數(shù)進(jìn)行加、減、乘、除運(yùn)算。還有如何判斷它是第幾個(gè)輸入的數(shù)字。后來(lái)進(jìn)行多次研究和查詢才知道可以通過(guò)設(shè)運(yùn)算符標(biāo)志位來(lái)判斷是輸入的第幾個(gè)數(shù)值。此次課程設(shè)計(jì)讓我更了解熟悉了Java中的圖形用戶界面和它的編程方式。在完成課題的過(guò)程中也不斷充實(shí)了自己,學(xué)習(xí)到了很多以前沒(méi)有學(xué)習(xí)到的知識(shí),收獲很大。最大的收獲就是對(duì)大學(xué)學(xué)習(xí)的總結(jié)和培養(yǎng)了解決困難的信心和能力,使我對(duì)所學(xué)知識(shí)能夠融會(huì)貫通,又不斷豐富了新知識(shí)。Java計(jì)算器設(shè)計(jì)使得我們對(duì)所學(xué)的專(zhuān)業(yè)課有了更為深刻的認(rèn)識(shí),使得知識(shí)得到了鞏固和提高。六附錄importjava.awt.*;importjava.awt.event.*;publicclassCalculatorimplementsActionListener{Panelp1=newPanel();Panelp2=newPanel();Panelp3=newPanel();TextFieldtf=newTextField(30);Stringa[]={"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};ButtonB[];Buttonb1=newButton("CE");Buttonb2=newButton("退出");Strings1=newString();Strings2=newString();Strings3=newString();//s1記錄第一個(gè)數(shù);s2記錄運(yùn)算符;s3記錄第二個(gè)數(shù);doubled1,d3,d4;inty=0;//y用于控制運(yùn)算符publicvoidinit(){Framef=newFrame("計(jì)算器");f.setBackground(Color.lightGray);f.setForeground(Color.blue);p1.add(tf);p3.setLayout(newGridLayout(1,2));p3.add(b1);p3.add(b2);p2.setLayout(newGridLayout(4,4));B=newButton[a.length];for(inti=0;i<a.length;i++){B[i]=newButton(a[i]);p2.add(B[i]);}f.add(p1,BorderLayout.NORTH);f.add(p2,BorderLayout.CENTER);f.add(p3,BorderLayout.SOUTH);f.setSize(350,300);//設(shè)置大小f.setVisible(true);//設(shè)置為可視B[0].addActionListener(this);//7B[1].addActionListener(this);//8B[2].addActionListener(this);//9B[3].addActionListener(this);//除B[4].addActionListener(this);//4B[5].addActionListener(this);//5B[6].addActionListener(this);//6B[7].addActionListener(this);//*B[8].addActionListener(this);//1B[9].addActionListener(this);//2B[10].addActionListener(this);//3B[11].addActionListener(this);//-B[12].addActionListener(this);//0B[13].addActionListener(this);//.B[14].addActionListener(this);//=B[15].addActionListener(this);//+b1.addActionListener(this);b2.addActionListener(this);f.addWindowListener(newcloseWin());}publicvoidactionPerformed(ActionEvente){Stringcommand=e.getActionCommand();if(command=="CE")//清零鍵按下時(shí)返回初始狀態(tài){y=0;tf.setText("0.");s1="";s2="";s3="";//記錄輸入值的變量清空}elseif(command=="退出")System.exit(0);//退出鍵關(guān)閉應(yīng)用程序elseif(y==0&&command!="*"&&command!="/"&&command!="+"&&command!="-"&&command!="=")//判斷輸入是否為數(shù)字{s1=s1.concat(command);tf.setText(s1);}if(command=="*"||command=="/"||command=="+"||command=="-")//判斷是否輸入運(yùn)算符{y=1;s2=command;}if(y==1&&command!="*"&&command!="/"&&command!="+"&&command!="-"&&command!="="){s3=s3.concat(command);tf.setText(s3);}if(command=="="){Doubleob1=Double.valueOf(s1);Double

溫馨提示

  • 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)論