java課程設(shè)計課程設(shè)計報告12_第1頁
java課程設(shè)計課程設(shè)計報告12_第2頁
java課程設(shè)計課程設(shè)計報告12_第3頁
java課程設(shè)計課程設(shè)計報告12_第4頁
java課程設(shè)計課程設(shè)計報告12_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

莆田學(xué)院新工科產(chǎn)業(yè)學(xué)院課程設(shè)計課程名稱:Java程序設(shè)計題目:簡易計算機2020年7月1日resultTextField.setText(str2);k5=k5+1;))Listenerdyjt_dy=newListener_dy();Listenerjt=newListener0;Listener_signaljt_signal=newListener_signal();Listener_clearjt_c=newListener_clear();Listener_xiaosjt_xs=newListener_xiaos();button?.addActionListener(jt);button8.addActionListener(jt);button9.addActionListener(jt);button_chu.addActionListener(jt_signal);button4.addActionListener(jt);button5.addActionListener(jt);button6.addActionListener(jt);buttoncheng.addActionListener(jtsignal);buttonl.addActionListener(jt);button2.addActionListener(jt);button3.addActionListener(jt);button_jian.addActionListener(jt_signal);buttonO.addActionListener(jt);buttonDian.addActionListener(jtxs);buttondy.addActionListener(jtdy);button_jia.addActionListener(jt_signal);clearButton.addActionListener(jtc);frame.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvcntc){System,exit(0);)});voidcal0{doublea2;doubleb2;Stringc=signal;doubleresult2=0;if(c.equals(〃〃)){resultTextField.setText(''Pleaseinputoperator");}else{if(strl.equals(〃."))strl=〃0.0〃;if(str2.equals(〃.〃))str2=〃0.0〃;a2=Double.valueOf(strl).doubleValue();b2=Double.valueOf(str2).doubleValue();if(c.equals("+〃)){result2=a2+b2;)if(c.equals(〃-")){result2=a2-b2;)if(c.equals("*〃)){result2=a2*b2;)if(c.equals(〃/〃))(if(b2==0){result2=0;}else{result2=a2/b2;}result=((newDouble(result2)).toStringO);resultTextField.setText(result);)}?SuppressWarnings("unused")publicstaticvoidmain(String[]args){try(UIManager.sctLookAndFcel(〃javax.swing,plaf.metal.MctalLookAndFeer');}catch(Exceptione){e.printStackTrace();Calculator415cal=newCalculator415();.結(jié)論分析[£Calculator415.java冷[£Calculator415.java冷[£Calculator415.java冷一。257258259260261262263264[£Calculator415.java冷一。257258259260261262263264265266267-268269270271272273274275276277278279280281282283result=((newDouble(result2)).toStrin^^t也Calculatorresult_TextField.setText(result);^SuppressWarnings("unused")publicstaticvoidmain(String[]args){try(X91?Ld「56二,EOi?UIManager.setLookAndFeeL("javax.swing.|}catch(Exceptione){e.printStackTrace();}Calculator415cal=newCalculator415();本計算器為計算量中等,對函數(shù)要求不太高的人群適用,適合于簡單計算數(shù)據(jù)。從一個簡單的計算器就可以看出Java的程序設(shè)計不是那么簡單,僅僅是一個小小的計算器,就已經(jīng)有很多需要注意的問題,一不小心就會出錯,還會有很多地方?jīng)]怎么明白,而計算器的設(shè)計是最簡單的幾個設(shè)計其中之一,可見,平時的知識積累是很重要的。沒有知識的積累,再簡單的東西也不可能設(shè)計出來。課程設(shè)計還讓我們練習(xí)了動手能力,使我們平時學(xué)習(xí)的知識得以在實際中應(yīng)用,不會學(xué)死書,活學(xué)活用,很大程度上提高了我們的能力,對以后的學(xué)習(xí)、工作、生活也會有一定的幫助。通過此次的程序設(shè)計,讓我了解了Java的更多知識,使平時的知識可以運用,更好的理解了Java這門課程。.參考文獻格式要求:宋體+TimesNewRoman,小四,行間距L5倍,內(nèi)容參照標準參考文獻格式要求(可查看百度參考文獻格式),如:[1]崇天,禮欣,黃天羽.python語言設(shè)計基礎(chǔ)[M],北京:高等教育出版社,2014[2]明日科技.python項目案例開發(fā)集錦[M].北京:吉林大學(xué)出版社,2011.1.概述設(shè)計一個圖形界面的計算器應(yīng)用程序,完成簡單的算術(shù)運算。通過對計算器的編輯來檢測和提升自己的Java編程能力,并最終完成課程設(shè)計報告。2.設(shè)計任務(wù)及要求(1)設(shè)計任務(wù)利用Java開發(fā)一個可以進行簡單的四則運算的圖形化計算器。具體功能要求如下:1、參考界面設(shè)計圖如下,允許根據(jù)功能自行設(shè)計界面。TOC\o"1-5"\h\z.簡易計算器一X5.6Clear789/456?11123?,0.=?2、要求計算器至少能夠?qū)崿F(xiàn)基本的加減乘除運算和清空功能。3、Clear按鈕用于實現(xiàn)全部輸入的清空操作,直接將顯示置零。(2)設(shè)計要求1、應(yīng)用自己所學(xué)課程知識完成對計算器的基本任務(wù)。2、查閱相關(guān)資料,學(xué)習(xí)和掌握項目中涉及的新知識,提高自學(xué)能力。3、通過應(yīng)用Java程序編寫計算器來提升自己對簡單的圖形界面有一定的掌握和了解。3.設(shè)計方案(1)運算器的界面制作:這個簡單計算器設(shè)計是通過兩個面板的疊加的界面。(2)計算器的功能實現(xiàn):在面板上添加按鈕,并通過按鈕來進行簡易計器的加,減,乘,除基本運算。(3)通過Imagclcon來實現(xiàn)在按鈕中添加圖片。(4)通過繼承JFrame類和實現(xiàn)監(jiān)聽器接口ActionListener接口來完成窗口的布局管理和個組件相對應(yīng)的事件。(5)設(shè)計思維:①定義一個窗口和一個容器和兩個面板來合理放置組件,第一個面板用來存放文本框,第二個面板用來存放完成實現(xiàn)計算加,減,乘,除四個基本功能的按鈕,再把兩個面板放到容器中。②通過ActionListener來實現(xiàn)各個組件相對應(yīng)的事件。實驗代碼如下:packagetest1;importjava.awt.importjava.awt.event.importjavax.swing.*;importjava.util.Vector;publicclassCalculator415(Stringstrl=〃0〃;Stringstr2=〃0〃;Stringsignal=〃+”;Stringresult="〃;intkl=1;intk2=1;intk3=1;intk4=1;intk5=1;JButtonstore;?SuppressWarnings(,,rawtypes,/)Vectorvt=newVector(20,10);JFramcframe=newJFrame("Calculator");JTextFieldresult_TextField=newJTextField(result,20);JButtonclear_Button=newJButton("Clear");JButtonbuttonO=newJButton(〃0〃);JButtonbuttonl=newJButton(〃1〃);JButtonbutton2=newJButton(〃2〃);JButtonbutton3=newJButton(〃3〃);JButtonbutton4=newJButton("4");JButtonbutton5=newJButton("5");JButtonbutton6=newJButton("6");JButtonbutton?=newJButton(〃7〃);JButtonbutton8=newJButton("8");JButtonbutton9=newJButton(〃9〃);JButtonbutton_Dian=newJButton(,z./z)JButtonbutton_jia=newJButton(〃+〃);JButtonbutton_jian=newJButton(〃-");JButtonbutton_cheng=newJButton(〃*〃);JButtonbutton_chu=newJButton(〃/〃);JButtonbuttondy=newJButton(〃=");publicCalculator415(){buttonO.setMnemonic(KeyEvent.VK_0);result_TextField.setHorizontalAlignment(JTextField.RIGHT);JPanelpan=newJPanel();pan.setLa)rout(newGridLayout(4,4,5,5));pan.add(button?);pan.add(button8);pan.add(button9);pan.add(buttonchu);pan.add(button4);pan.add(button5);pan.add(button6);pan.add(button_cheng);pan.add(buttonl);pan.add(button?);pan.add(button3);pan.add(buttonjian);pan.add(buttonO);pan.add(button_Dian);pan.add(button_dy);pan.add(button」ia);pan.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));JPanelpan2=newJPanel();pan2.sctLayout(newBordcrLayout());pan2.add(result_TextField,BorderLayout.WEST);pan2.add(clear_Button,BorderLayout.EAST);frame.setLocation(600,600);frame.setResizable(true);frame.getContentPane().setLayout(newBorderLayout());frame.getContentPane().add(pan2,BorderLayout.NORTH);frame.getContentPane0.add(pan,BorderLayout.CENTER);frame,pack();frame.setVisible(true);classListenerimplementsActionListener{?SuppressWarnings("unchecked")publicvoidactionPerformed(ActionEvente){Stringss=((JButton)e.getSource()).getText();store=(JButton)e.getSource();vt.add(store);if(kl==1){if(k3==1){strl=〃”;k5=1;)strl=strl+ss;k3=k3+1;result_TextField.setText(strl);}elseif(kl==2){if(k4=1){str2=〃〃;k5二1;)str2=str2+ss;k4=k4+1;result_TextField.setText(str2);)}}classListcner_signalimplementsActionListcncr{@SuppressWarnings("unchecked")publicvoidactionPerformed(ActionEvente)(Stringss2=((JButton)e.getSource()).getText();store=(JButton)e.getSource();vt.add(store);if(k2=1){kl=2;k5=1;signal=ss2;k2=k2+1;}else{inta=vt.size();JButtonc=(JButton)vt.get(a-2);if(!(c.getTcxtO.equals(〃+〃))&&!(c.getText().equals(z,-/z))&&!(c.getText().equals(〃*〃))&&!(c.getText().equals(〃/")))(cal();strl=result;kl=2;k5=1;k4=1;signal=ss2;)k2=k2+1;//清除鍵的邏輯(Clear)classListener_clearimplements/XctionListener{@SuppressWarnings("unchecked")publicvoidaclionPerformed(ActionEvente){

store=(JButton)e.getSourceO;vt.add(store);k5=1;k2=1;kl=

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論