




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí)訓(xùn)報(bào)告書(shū)實(shí)訓(xùn)名稱: Java程序設(shè)計(jì)實(shí)訓(xùn) 系 (部): 信息工程系 專業(yè)班級(jí): 計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)生姓名: 學(xué) 號(hào): 指導(dǎo)教師: 張民 完成日期: 2015.12.11 山東科技大學(xué)泰山科技學(xué)院專心-專注-專業(yè)實(shí)訓(xùn)課題簡(jiǎn)易計(jì)算器實(shí)訓(xùn)人姓名 同組人員實(shí)訓(xùn)日期2015.12.07至2015.12.11實(shí)訓(xùn)成績(jī)指導(dǎo)教師評(píng)語(yǔ)指導(dǎo)教師簽名:_年 _ 月_日目錄簡(jiǎn)易計(jì)算機(jī)的設(shè)計(jì)與實(shí)現(xiàn)1 實(shí)訓(xùn)目的通過(guò)本課程設(shè)計(jì)能夠較全面的掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的有關(guān)概念和開(kāi)發(fā)方法,以便能較全面地理解、掌握和綜合運(yùn)用所學(xué)的知識(shí),提高自身的編程能力。利用Java Applet圖形界面首先開(kāi)
2、始設(shè)計(jì)一個(gè)計(jì)算器的界面,定義計(jì)算器所需要的按鈕并賦給其按鈕名稱,使得使用計(jì)算器時(shí)簡(jiǎn)單明了,清晰可見(jiàn),操作輕松。 給各個(gè)按鈕進(jìn)行算法,利用鼠標(biāo)點(diǎn)擊事件,當(dāng)鼠標(biāo)點(diǎn)擊某個(gè)按鈕時(shí)就開(kāi)始執(zhí)行那個(gè)按鈕所定義的算法,生成數(shù)據(jù)并顯示。 除數(shù)字的輸入為直接進(jìn)行輸入外,其他運(yùn)算例如+、-、*、/、開(kāi)平方等算法要求計(jì)算時(shí)通過(guò)內(nèi)部較為復(fù)雜的運(yùn)算將結(jié)果顯示在顯示屏上。 至于其中的進(jìn)制轉(zhuǎn)換功能的實(shí)現(xiàn)則是直接調(diào)用Java中進(jìn)制轉(zhuǎn)換的函數(shù),例如要將十進(jìn)制轉(zhuǎn)換成二進(jìn)制則可直接調(diào)用函數(shù)Inte
3、ger.toBinaryString(int i)來(lái)實(shí)現(xiàn),充分顯示了Java語(yǔ)言的簡(jiǎn)潔性和Java語(yǔ)言功能的強(qiáng)大性。 當(dāng)然了在輸入數(shù)據(jù)時(shí)還要進(jìn)行異常捕捉,防止越界的現(xiàn)象的發(fā)生,這也是Java語(yǔ)言健壯性的體現(xiàn)!2 簡(jiǎn)易計(jì)算機(jī)的分析與設(shè)計(jì)二級(jí)標(biāo)題:宋體小四號(hào)字,段前段后間距為0,報(bào)告中最多到二級(jí)標(biāo)題2.1 系統(tǒng)功能描述此系統(tǒng)可以實(shí)現(xiàn)如下功能:1)可進(jìn)行“+”、“-”、“*”、“/”以及混合運(yùn)算。2)支持()改變運(yùn)算的優(yōu)先級(jí)3)可進(jìn)行二、十六和十進(jìn)制數(shù)的相互轉(zhuǎn)換4)支持復(fù)制和粘貼操作2.2 系統(tǒng)模塊設(shè)計(jì)(1)加法
4、0;兩個(gè)數(shù)據(jù)進(jìn)行加操作,可以為小數(shù)。 (2)減法 兩個(gè)數(shù)據(jù)進(jìn)行減操作,可以為負(fù)數(shù)相減。 (3)乘法 兩個(gè)數(shù)相乘操作。 (4)除法 兩個(gè)數(shù)相除操作。 (5)開(kāi)平方 對(duì)任意一個(gè)數(shù)進(jìn)行開(kāi)方運(yùn)算,可以是小數(shù)。 (6)求余 對(duì)任意一個(gè)數(shù)進(jìn)行求余運(yùn)算。 (7)倒數(shù) 對(duì)任意一個(gè)數(shù)進(jìn)行倒數(shù)運(yùn)算。 (8)轉(zhuǎn)換 將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制以及將二進(jìn)制轉(zhuǎn)換為十進(jìn)制。加法運(yùn)算2.3 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)倒數(shù)運(yùn)算 減法運(yùn)算 計(jì)算器開(kāi)平方運(yùn)算乘法運(yùn)
5、算求余運(yùn)算二進(jìn)制與十進(jìn)制轉(zhuǎn)除法運(yùn)算圖1 計(jì)算機(jī)E-R圖圖2 流程圖3 主要代碼清單 這段代碼主要是對(duì)程序的主框架進(jìn)行相應(yīng)的設(shè)置 super("簡(jiǎn)易計(jì)算器"); setSize(300,260); this.setLayout(new BorderLayout(); jPanel1=new JPanel(); jPanel1.set
6、Layout(new GridLayout(1,1); /一行一列的布局 jPanel2=new JPanel(); jPanel2.setLayout(new GridLayout(6,4); /六行四列的布局 resultField=new JTextField("0"); jPanel1.add(resultField);
7、60; this.add(jPanel1,BorderLayout.NORTH); this.add(jPanel2,BorderLayout.CENTER);設(shè)置數(shù)字按鈕1到9并添加監(jiān)控以及符號(hào)等的添加監(jiān)控 s1=new JButton(" 1 "); s1.addActionListener(this); s2=new JButton("
8、160;2 "); s2.addActionListener(this); s3=new JButton(" 3 "); s3.addActionListener(this); s4=new JButton(" 4 "); s4.addA
9、ctionListener(this);s5=new JButton(" 5 "); s5.addActionListener(this); s6=new JButton(" 6 "); s6.addActionListener(this); s7=new JButto
10、n(" 7 "); s7.addActionListener(this); s8=new JButton(" 8 "); s8.addActionListener(this); s9=new JButton(" 9
11、;"); s9.addActionListener(this); s0=new JButton(" 0 "); s0.addActionListener(this); b1=new JButton(" + "); b1.addActionListener(this);
12、160;b2=new JButton(" - "); b2.addActionListener(this); b3=new JButton(" * "); b3.addActionListener(this); b4=new JButton(" /&
13、#160; "); b4.addActionListener(this); b5=new JButton(" "); b5.addActionListener(this); b6=new JButton(" 開(kāi)方 "); b6.addActionListener(this);
14、0; b7=new JButton(" % "); b7.addActionListener(this); b8=new JButton(" x! "); b8.addActionListener(this); b9=new JButton(" 1/x "); b9.a
15、ddActionListener(this); f1=new JButton(" . "); f1.addActionListener(this); f2=new JButton(" = "); f2.addActionListener(this); f3=new JBu
16、tton(" C "); f3.addActionListener(this); f4=new JButton(" 負(fù) "); f4.addActionListener(this); f5=new JButton(" 退格 "); f5.addActio
17、nListener(this); jPanel2.add(f3); jPanel2.add(b4); jPanel2.add(b3); jPanel2.add(f5); jPanel2.add(s7); jPanel2.add(s8);
18、160; jPanel2.add(s9); jPanel2.add(b1); jPanel2.add(s4); jPanel2.add(s5); jPanel2.add(s6); jPanel2.add(b2);
19、160; jPanel2.add(s1); jPanel2.add(s2); jPanel2.add(s3); jPanel2.add(b5); jPanel2.add(s0); jPanel2.add(f1);
20、160; jPanel2.add(f4); jPanel2.add(b6); jPanel2.add(b7); jPanel2.add(b8); jPanel2.add(b9); jPanel2.add(f2); (3)數(shù)據(jù)輸入用方法num(int i)設(shè)計(jì)如下: public void num(int i) &
21、#160; String s = null; s=String.valueOf(i); /返回整數(shù)i的字符串表示形式 if(end) /如果數(shù)字輸入結(jié)束,則將文本框置零,重新輸入 resultField.setText(&
22、quot;0"); end=false; if(resultField.getText().equals("0") /如果文本框的內(nèi)
23、容為零,則覆蓋文本框的內(nèi)容 resultField.setText(s); else /如果文本框的內(nèi)容不為零,則在內(nèi)容后面添加數(shù)字
24、60; str = resultField.getText() + s; resultField.setText(str); 以及用JFrame的方法actionPerformed(ActionEvent e)來(lái)獲取數(shù)據(jù) (4)符號(hào)運(yùn)算及清零、退格的設(shè)計(jì)如下:
25、;if(add) / 加法 num1=num1 +num2; else if(sub)
26、; /減法 num1=num1 - num2; else if(mul) /乘法
27、60; num1=num1 * num2; else if(div) /除法 if (num2=0) throw new ArithmeticException(&q
28、uot;除數(shù)不能為零"); elsenum1=num1 / num2; else if(chf) /乘方 if(num2=0) num1=1;
29、0; else num1=Math.pow(num1, num2); else if(evo) /開(kāi)方
30、60; if(num2<0) throw new ArithmeticException("被開(kāi)方數(shù)不能小于零"); else num1=Math.sqrt(num2); else if(rec)
31、; /倒數(shù) if(num2<0) throw new ArithmeticException("分母不能小于零"); else num1=1/num2; else if(per)
32、60; /百分 num1=num1/100.0; else if(pur) /階乘 if(num2<0) throw new Ari
33、thmeticException("負(fù)數(shù)不能求階乘"); else for(int i=1;i<num2;i+) num1=i*num1; resultField.setText(String.valueOf(num1);&
34、#160; end=true; else if(e.getSource()=f3) /實(shí)現(xiàn)清零 resultField.setText("0");
35、else if(e.getSource()=f4) /實(shí)現(xiàn)負(fù)號(hào) if(resultField.getText()!="0") resultField.setText("-"+resultField.getText(); else if(e.getSource()=f5)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高效率辦公事務(wù)文書(shū)撰寫(xiě)指南
- 三農(nóng)產(chǎn)品產(chǎn)地包裝管理手冊(cè)
- 股份制改革法律事務(wù)解析方案
- 建筑結(jié)構(gòu)與防災(zāi)減災(zāi)作業(yè)指導(dǎo)書(shū)
- 制藥行業(yè)智能化藥品生產(chǎn)自動(dòng)化方案
- 工程進(jìn)度管理表格-工程項(xiàng)目進(jìn)度管理詳情
- 企業(yè)運(yùn)營(yíng)效能分析與改進(jìn)方案
- 遵義2025年貴州遵義市正安縣公安局招聘輔警50人筆試歷年參考題庫(kù)附帶答案詳解
- 四川省綿陽(yáng)市江油市2024-2025學(xué)年九年級(jí)(上)期末化學(xué)試卷【含答案】
- 2021年5月四級(jí)江蘇省人力資源管理師考試《理論知識(shí)》真題及答案
- 保安員培訓(xùn)教學(xué)大綱
- 年產(chǎn)2500噸苯并三氮唑、2000噸甲基苯并三氮唑技改項(xiàng)目竣工環(huán)保驗(yàn)收監(jiān)測(cè)調(diào)查報(bào)告
- 《人力資源管理》全套教學(xué)課件
- 4.2 以禮待人 課件-2024-2025學(xué)年統(tǒng)編版道德與法治八年級(jí)上冊(cè)
- 關(guān)于轉(zhuǎn)作風(fēng)、優(yōu)環(huán)境、走新路、重實(shí)干、促發(fā)展的實(shí)施方案
- 項(xiàng)目一任務(wù)一《家宴菜單設(shè)計(jì)》課件浙教版初中勞動(dòng)技術(shù)八年級(jí)下冊(cè)
- 重點(diǎn)流域水環(huán)境綜合治理中央預(yù)算內(nèi)項(xiàng)目申報(bào)指南
- 民用無(wú)人機(jī)操控員執(zhí)照(CAAC)考試復(fù)習(xí)重點(diǎn)題庫(kù)500題(含答案)
- 家族合伙企業(yè)合同協(xié)議書(shū)
- 工業(yè)機(jī)器人編程語(yǔ)言:URScript(UniversalRobots):UR機(jī)器人安全編程與碰撞檢測(cè)
- 5.1 實(shí)數(shù)指數(shù)冪-中職數(shù)學(xué)教學(xué)設(shè)計(jì)(高教版2021基礎(chǔ)模塊 下冊(cè))
評(píng)論
0/150
提交評(píng)論