java課程設計 計算器 格式正確,代碼易懂易修改_第1頁
java課程設計 計算器 格式正確,代碼易懂易修改_第2頁
java課程設計 計算器 格式正確,代碼易懂易修改_第3頁
java課程設計 計算器 格式正確,代碼易懂易修改_第4頁
java課程設計 計算器 格式正確,代碼易懂易修改_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Java課程設計 計算器的設計與制作-.目錄:TOC\o"1-5"\h\z.引言 2.開發環境 2.詳細設計 2.運行結果及測試情況 4.程序源代碼 4.程序不足之處 18.參考文獻 18.致謝 19引言該程序是一個圖形界面的簡單的java計算器,使用人員能快捷簡單地進行操作。即時準確地獲得需要的計算的結果,充分降低了數字計算的難度和節約了時間,對人們的生活有一定的幫助。可以進行簡單的四則運算(加、減、乘、除,以及求倒數,求相反數),有退格功能,歸零表示初始化,界面顏色為灰白,該程序支持鍵盤操作。隨著科學技術的不斷發展,計算機已經成為我們工作學習和生活中不可缺少的工具。文本編輯器是個人計算機最司空見慣的應用程序了,在學習了Java語言之后,我決定使用Java語言編寫一個簡單的計算器,可以實現簡單的運算功能,滿足日常基本的工作學習和娛樂需要。Java是由Sun公司開發的新一代純面向對象的網絡編程語言。其目標是建立一種在任意種機器、任一種操作系統的網絡環境中運行的軟件,實行所謂的“程序寫一次,到處運行”的目標。正因為如此,Java已成為當今Internet上最流行、最受歡迎的一種程序開發語言。Java開發小組把Java按特性分為基本版、移動版、企業版,每個版本有一個軟件開發包Java基本版本叫Java2標準版(Java2StandardEdition,J2SE),它包含建立Java應用程序或者是Applet所需的應用程序編程接口(API)。Java2移動版(TheJava2MobileEdition,J2ME)包含創建無線Java應用程序的API。還有Java2企業版(TheJava2Enterprise,J2EE)是J2SE的增強版本,包含建立多層架構應用程序API。開發環境開發平臺:MicrosoftWindows7旗艦版開發工具:JCreator+JDK1.6.0_02詳細設計4.1程序中所用的類:類名:lushuaishuaijsq作用:主類繼承的父類:Frame類實現的接口:KeyListener類,ActionListener類publicclasslushuaishuaijsqextendsFrameimplementsActionListener,KeyListener{Strings="";//S控制文本框floatk=0;//KP保存值floatp=0;intb=0;//控制運算符號其中s為文本框內的數據,k,p,b分別為相應的保存值和控制運算符號所用。publicvoidactionPerformed(ActionEvente)語句實現了ActionListener接口,因此可以調用addActionListener(this)方法對按鈕進行點擊監聽,在下面的publicvoidactionPerformed(ActionEvente)方法里面對各個點擊事件進行處理。程序中的主要方法:privatevoidlistener()添加偵聽器對象,對來自鍵盤和點擊的事件進行監聽;publicvoidactionPerformed(ActionEvente添加監視器,對來自鍵盤和鼠標點擊的事件進行捕捉;publicvoidkeyPressed(KeyEvente)publicvoidkeyReleased(KeyEventarg0)publicvoidkeyTyped(KeyEventarg0)針對鍵盤操作而設計的鍵盤操作;4.2程序功能介紹:

功能1,該程序為十進制計算器,可進行普通十進制計算。功能2,可進行四則運算(加、減、乘、除)以及求負數,求倒數運算。功能3,可進行退格,點擊“退格”鍵將逐個刪除已經輸入的數據。點擊“歸零”鍵可實現計算器的初始化。5.運行結果:5.1運行結果界面截圖:5.2:程序運行情況:程序正常的響應按鈕事件,進行混合四則運算的時候,結果如果不是很大,可以正常顯示,但如果結果很大,就可能采用科學記數方式,這樣帶來了進制轉換時的麻煩,需要特殊的處理科學記數里的E,當結果太大的時候,有可能超出可能表示的最大值,(結果溢出),這個時候就會對結果進行溢出提示,我并未設置異常類來相應異常事件,但是程序在發生異常時會提示Infinity字符。6.程序源代碼:importjava.awt.event.KeyListener;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjava.awt.event.KeyEvent;//實現鍵盤事件importjavax.swing.*;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;publicclasslushuaishuaijsqextendsFrameimplementsActionListener,KeyListener{Strings="";//S控制文本框floatk=0;//KP保存值floatp=0;intb=0;//控制運算符號Panelp1=newPanel();Panelp2=newPanel();TextFieldtext=newTextField(50);GridLayoutgridLayout=newGridLayout();Buttonbe=newButton(〃1/x〃);Buttonbf=newButton(〃負號〃);Buttonbb=newButton(〃退格〃);Buttonbc=newButton(〃歸零〃);Buttonb0=newButton(〃0〃);Buttonb1=newButton(〃1〃);Buttonb2=newButton(〃2〃);Buttonb3=newButton(〃3〃);Buttonb4=newButton(〃4〃);Buttonb5=newButton(〃5〃);Buttonb6=newButton(〃6〃);Buttonb7=newButton(〃7〃);Buttonb8=newButton(〃8〃);Buttonb9=newButton(〃9〃);Buttonbd=newButton(〃.〃);Buttonbj=newButton(〃+〃);Buttonbji=newButton—;Buttonbs=newButton(〃*〃);Buttonbchu=newButton(〃/〃);Buttonbden=newButton(〃二〃);privatevoidinit()(gridLayout.setColumns(4);gridLayout.setRows(4);gridLayout.setHgap(8);gridLayout.setVgap(8);p1.add(text,〃West〃);p1.add(bc,〃East〃);p1.add(bb,〃East〃);p1.add(be,〃East〃);p1.add(bf,〃East〃);p2.setLayout(gridLayout);p2.add(b7);p2.add(b8);p2.add(b9);p2.add(bchu);p2.add(b4);p2.add(b5);p2.add(b6);p2.add(bs);p2.add(b1);p2.add(b2);p2.add(b3);p2.add(bji);p2.add(b0);p2.add(bd);p2.add(bj);p2.add(bden);privatevoidlistener()(be. addActionListener(this);bf. addActionListener(this);bb. addActionListener(this);bc. addActionListener(this);b0.addActionListener(this);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this);b7.addActionListener(this);b8.addActionListener(this);b9.addActionListener(this);bd. addActionListener(this);bj.addActionListener(this);bji.addActionListener(this);bs.addActionListener(this);bchu.addActionListener(this);bden.addActionListener(this);publicstaticvoidmain(String[]args){/函數入口處main方法lushuaishuaijsqmainframe=newlushuaishuaijsq();mainframe.setSize(600,350);mainframe.setLocationRelativeTo(null);//居中mainframe.setTitle(〃小逮計算器〃);mainframe.setVisible(true);}publicvoidactionPerformed(ActionEvente){if(e.getActionCommand()==〃0〃){if(b!=5){s=s+〃0〃;text.setText(s);}}if(e.getActionCommand()==〃1〃){if(b!=5){s=s+〃1〃;text.setText(s);}if(e.getActionCommand()==〃2〃){if(b!=5)(s=s+〃2〃;text.setText(s);}}if(e.getActionCommand()==〃3〃){if(b!=5)(_I〃今〃s-s+3;text.setText(s);}}if(e.getActionCommand()--〃4〃){if(b!-5)(s-s+〃4〃;text.setText(s);}}if(e.getActionCommand()--〃5〃){if(b!-5)(s-s+〃5〃;text.setText(s);}}if(e.getActionCommand()==〃6〃){if(b!=5)(s=s+〃6〃;text.setText(s);}}if(e.getActionCommand()==〃7〃){if(b!=5)(_ |〃ry〃s-s+7;text.setText(s);}}if(e.getActionCommand()--〃8〃){if(b!-5)(s-s+〃8〃;text.setText(s);}}if(e.getActionCommand()--〃9〃){if(b!=5)(s=s+〃9〃;text.setText(s);}}if(e.getActionCommand()==〃.〃){if(b!=5)(if(s.indexOf(〃.〃)==T)s—s+.;text.setText(s);}}if(e.getActionCommand()--〃歸零〃){〃〃s—;text.setText(s);k=0;p=0;b=0;}if(e.getActionCommand()--〃+〃){if(s!-〃〃){//k—Float.parseFloat(s);s=this.equal(s,p,k,b);k=Float.parseFloat(s);text.setText(s);〃〃s-;}b-1;}if(e.getActionCommand()--〃-〃){if(s!-〃〃){if(b!-0&&b!-5)s-this.equal(s,p,k,b);k-Float.parseFloat(s);text.setText(s);〃〃s-〃〃;}b-2;}if(e.getActionCommand()--〃*〃){if(s!-〃〃){s=this.equal(s,p,k,b);k=Float.parseFloat(s);text.setText(s);〃〃s-;}b-3;}if(e.getActionCommand()--〃/〃){if(s!-〃〃){if(b!-0&&b!-5)s-this.equal(s,p,k,b);k-Float.parseFloat(s);text.setText(s);〃〃s-〃〃;}b-4;}if(e.getActionCommand()--〃-〃){s-equal(s,p,k,b);text.setText(s);b=5;//b=5控制等號以后不能直接跟數字}if(e.getActionCommand()=二〃退格〃){s=s.substring(0,s.length()-1);text.setText(s);}if(e.getActionCommand()=二〃負號〃){s=(〃-〃+s);text.setText(s);}if(e.getActionCommand()==〃1/x〃){//intk;floatk,j;Stringm;if(s=二〃0〃){//System.out.println(〃asfsdfa〃);text.setText(〃dsfaf〃);}else(k=Float.parseFloat(s);j=1/k;m=String.valueOf(j);text.setText(m);}}}publicStringequal(Strings,floatp,floatk,intb)(if(s!二〃〃){//System.out.println(〃programisrunhere");p=Float.parseFloat(s);if(b==1)s=〃〃+(p+k);if(b==2)s=〃〃+(k-p);if(b==3)s=〃〃+(p*k);if(b==4)if(p==0){s二〃除數不能為零〃;}elses=〃〃+(k/p);returns;}publiclushuaishuaijsq(){this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente)(dispose();System.exit(0);}//給窗口注冊一個事件監

溫馨提示

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

評論

0/150

提交評論