版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
莆田學(xué)院新工科產(chǎn)業(yè)學(xué)院課程設(shè)計(jì)課程名稱:Java程序設(shè)計(jì)題目:簡易計(jì)算機(jī)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();本計(jì)算器為計(jì)算量中等,對函數(shù)要求不太高的人群適用,適合于簡單計(jì)算數(shù)據(jù)。從一個(gè)簡單的計(jì)算器就可以看出Java的程序設(shè)計(jì)不是那么簡單,僅僅是一個(gè)小小的計(jì)算器,就已經(jīng)有很多需要注意的問題,一不小心就會出錯(cuò),還會有很多地方?jīng)]怎么明白,而計(jì)算器的設(shè)計(jì)是最簡單的幾個(gè)設(shè)計(jì)其中之一,可見,平時(shí)的知識積累是很重要的。沒有知識的積累,再簡單的東西也不可能設(shè)計(jì)出來。課程設(shè)計(jì)還讓我們練習(xí)了動手能力,使我們平時(shí)學(xué)習(xí)的知識得以在實(shí)際中應(yīng)用,不會學(xué)死書,活學(xué)活用,很大程度上提高了我們的能力,對以后的學(xué)習(xí)、工作、生活也會有一定的幫助。通過此次的程序設(shè)計(jì),讓我了解了Java的更多知識,使平時(shí)的知識可以運(yùn)用,更好的理解了Java這門課程。.參考文獻(xiàn)格式要求:宋體+TimesNewRoman,小四,行間距L5倍,內(nèi)容參照標(biāo)準(zhǔn)參考文獻(xiàn)格式要求(可查看百度參考文獻(xiàn)格式),如:[1]崇天,禮欣,黃天羽.python語言設(shè)計(jì)基礎(chǔ)[M],北京:高等教育出版社,2014[2]明日科技.python項(xiàng)目案例開發(fā)集錦[M].北京:吉林大學(xué)出版社,2011.1.概述設(shè)計(jì)一個(gè)圖形界面的計(jì)算器應(yīng)用程序,完成簡單的算術(shù)運(yùn)算。通過對計(jì)算器的編輯來檢測和提升自己的Java編程能力,并最終完成課程設(shè)計(jì)報(bào)告。2.設(shè)計(jì)任務(wù)及要求(1)設(shè)計(jì)任務(wù)利用Java開發(fā)一個(gè)可以進(jìn)行簡單的四則運(yùn)算的圖形化計(jì)算器。具體功能要求如下:1、參考界面設(shè)計(jì)圖如下,允許根據(jù)功能自行設(shè)計(jì)界面。TOC\o"1-5"\h\z.簡易計(jì)算器一X5.6Clear789/456?11123?,0.=?2、要求計(jì)算器至少能夠?qū)崿F(xiàn)基本的加減乘除運(yùn)算和清空功能。3、Clear按鈕用于實(shí)現(xiàn)全部輸入的清空操作,直接將顯示置零。(2)設(shè)計(jì)要求1、應(yīng)用自己所學(xué)課程知識完成對計(jì)算器的基本任務(wù)。2、查閱相關(guān)資料,學(xué)習(xí)和掌握項(xiàng)目中涉及的新知識,提高自學(xué)能力。3、通過應(yīng)用Java程序編寫計(jì)算器來提升自己對簡單的圖形界面有一定的掌握和了解。3.設(shè)計(jì)方案(1)運(yùn)算器的界面制作:這個(gè)簡單計(jì)算器設(shè)計(jì)是通過兩個(gè)面板的疊加的界面。(2)計(jì)算器的功能實(shí)現(xiàn):在面板上添加按鈕,并通過按鈕來進(jìn)行簡易計(jì)器的加,減,乘,除基本運(yùn)算。(3)通過Imagclcon來實(shí)現(xiàn)在按鈕中添加圖片。(4)通過繼承JFrame類和實(shí)現(xiàn)監(jiān)聽器接口ActionListener接口來完成窗口的布局管理和個(gè)組件相對應(yīng)的事件。(5)設(shè)計(jì)思維:①定義一個(gè)窗口和一個(gè)容器和兩個(gè)面板來合理放置組件,第一個(gè)面板用來存放文本框,第二個(gè)面板用來存放完成實(shí)現(xiàn)計(jì)算加,減,乘,除四個(gè)基本功能的按鈕,再把兩個(gè)面板放到容器中。②通過ActionListener來實(shí)現(xiàn)各個(gè)組件相對應(yīng)的事件。實(shí)驗(yàn)代碼如下: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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國冬蟲夏草行業(yè)投資潛力分析及行業(yè)發(fā)展趨勢報(bào)告
- 2025國際貿(mào)易進(jìn)口合同范本
- 2025粉煤灰供應(yīng)合同
- 2025貴州白黔高速公路某合同段安全監(jiān)理保證體系
- 2025有關(guān)房屋租賃合同解除通知書的樣本
- 75字的孟姜女哭長城讀后感結(jié)尾
- 2025年人教版七年級地理下冊月考試卷
- 籃球館戲劇展覽租賃合同
- 展覽展示質(zhì)量獎評審規(guī)則
- 2025年蘇教新版八年級物理下冊月考試卷
- 超星爾雅學(xué)習(xí)通《藝術(shù)哲學(xué)美是如何誕生的(同濟(jì)大學(xué))》2024章節(jié)測試答案
- 全國醫(yī)院數(shù)量統(tǒng)計(jì)
- (2024年)長歌行漢樂府古詩PPT語文課件
- GB/T 43674-2024加氫站通用要求
- 倉庫班長年終總結(jié)及工作計(jì)劃
- 部編人教版二年級勞動教育上冊期末試卷(帶答案)
- 肛門手術(shù)的鎮(zhèn)痛研課件
- 中山醫(yī)院報(bào)告查詢app
- 檢驗(yàn)科質(zhì)控總結(jié)匯報(bào)
- 《如何做好中層》課件
- 破產(chǎn)法培訓(xùn)課件銀行
評論
0/150
提交評論