JAVA計(jì)算器內(nèi)含源代碼_第1頁
JAVA計(jì)算器內(nèi)含源代碼_第2頁
JAVA計(jì)算器內(nèi)含源代碼_第3頁
JAVA計(jì)算器內(nèi)含源代碼_第4頁
JAVA計(jì)算器內(nèi)含源代碼_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、XX學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系實(shí) 驗(yàn) 報(bào) 告課程名稱程序設(shè)計(jì)基礎(chǔ)實(shí)驗(yàn)(2)實(shí)驗(yàn)項(xiàng)目應(yīng)用系統(tǒng)的面向?qū)ο笤O(shè)計(jì)與分析實(shí)驗(yàn)類型綜合性實(shí)驗(yàn)完成人所在班級(jí)指導(dǎo)教師完成日期2009年11月20日實(shí)驗(yàn)報(bào)告正文一實(shí)驗(yàn)報(bào)告簡(jiǎn)表實(shí)驗(yàn)課題名稱 計(jì)算器綜合性實(shí)驗(yàn)項(xiàng)目應(yīng)用系統(tǒng)的面向?qū)ο笤O(shè)計(jì)與分析服務(wù)課程程序設(shè)計(jì)基礎(chǔ)實(shí)驗(yàn)(2)實(shí)驗(yàn)小組組長(zhǎng)指導(dǎo)教師參與實(shí)驗(yàn)人員及其在實(shí)驗(yàn)課題中承擔(dān)的主要任務(wù)(包括組長(zhǎng))學(xué) 號(hào)小組成員姓名班 級(jí)在實(shí)驗(yàn)課題中的主要作用二、 實(shí)驗(yàn)內(nèi)容1、 完成計(jì)算器的編寫。2、 完成實(shí)驗(yàn)報(bào)告的寫作.三、 實(shí)驗(yàn)要求1、理解并掌握?qǐng)D形界面的設(shè)計(jì)。2、理解整體算法的思路,即actionPerformed()的算法.3、進(jìn)一步

2、學(xué)習(xí)JAVA的編程思想。四、 實(shí)驗(yàn)?zāi)康?、理解并掌握?qǐng)D形界面的設(shè)計(jì)。2、理解整體算法的思路,即actionPerformed()的算法。3、通過設(shè)計(jì)成的計(jì)算器的按鈕輸入所需要計(jì)算的數(shù)字,根據(jù)自己所需進(jìn)行加減乘除運(yùn)算,得出結(jié)果。4、進(jìn)一步學(xué)習(xí)JAVA的編程思想。五、 實(shí)驗(yàn)條件編譯器:NetBeansJava環(huán)境: JDK 6.0操作系統(tǒng): Windows XP 思路分析在開始寫計(jì)算器之前,用筆在紙上畫出計(jì)算器的草圖,顯示屏的位置,每個(gè)按鈕的位置及大小比列。使用setLayout(new GridLayout(6, 3, 10, 10);創(chuàng)建容器框框,使用JPanel JPanel pane =

3、new JPanel();pane.setLayout(new BorderLayout();pane.add(result, BorderLayout.NORTH);pane.add(number_key, BorderLayout.SOUTH);通過之前的草圖將按鈕位置排好,這樣計(jì)算器的外部形狀也Ok。圖形邊框解決了之后開始通過getSource()=“”去的事件源對(duì)象,進(jìn)行實(shí)現(xiàn)按鈕的輸入;這是計(jì)算器最關(guān)鍵的一步實(shí)現(xiàn)計(jì)算器的運(yùn)算,首先定義四則運(yùn)算的符號(hào)i 。通過符號(hào)i實(shí)現(xiàn)加減乘除。如:switch (symbol) case 1 :double ad =total + Double.par

4、seDouble(result.text.getText();result.text.setText(ad + );i = 0;sum = ;break;實(shí)現(xiàn)加法。5.最后進(jìn)行最后的測(cè)試,改正一些編寫中的小錯(cuò)誤,實(shí)現(xiàn)最后的結(jié)果。 七、 程序代碼import javax.swing.*;import java.awt.*;import java.awt.event.*;class Result extends JPanel JTextField text = new JTextField(0);Result() text.setHorizontalAlignment(SwingConstants

5、.RIGHT);text.enable(false);setLayout(new BorderLayout();add(text, BorderLayout.CENTER);class Number_Key extends JPanel JButton zero = new JButton(0);JButton one = new JButton(1);JButton two = new JButton(2);JButton three = new JButton(3);JButton four = new JButton(4);JButton five = new JButton(5);JB

6、utton six = new JButton(6);JButton seven = new JButton(7);JButton eight = new JButton(8);JButton nine = new JButton(9);JButton plus = new JButton(+);JButton sub = new JButton(-);JButton mul = new JButton(*);JButton div = new JButton(/);JButton equal = new JButton(=);JButton ce = new JButton(ce);JBut

7、ton point = new JButton(.);JButton tzero = new JButton(00);Number_Key() setLayout(new GridLayout(6, 3, 10, 10);add(seven);add(eight);add(nine);add(four);add(five);add(six);add(one);add(two);add(three);add(zero);add(tzero);add(plus);add(sub);add(mul);add(div);add(point);add(equal);add(ce);public clas

8、s Calculator extends JFrame implements ActionListener Result result = new Result();Number_Key number_key = new Number_Key();boolean com = false;int i = 0;String sum = ;double total = 0;int symbol = 0;Calculator() super(Calculator);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JPanel pane = new JPan

9、el();pane.setLayout(new BorderLayout();pane.add(result, BorderLayout.NORTH);pane.add(number_key, BorderLayout.SOUTH);number_key.one.addActionListener(this);number_key.two.addActionListener(this);number_key.three.addActionListener(this);number_key.four.addActionListener(this);number_key.five.addActio

10、nListener(this);number_key.six.addActionListener(this);number_key.seven.addActionListener(this);number_key.eight.addActionListener(this);number_key.nine.addActionListener(this);number_key.zero.addActionListener(this);number_key.ce.addActionListener(this);number_key.plus.addActionListener(this);numbe

11、r_key.equal.addActionListener(this);number_key.sub.addActionListener(this);number_key.mul.addActionListener(this);number_key.div.addActionListener(this);number_key.tzero.addActionListener(this);number_key.point.addActionListener(this);setContentPane(pane);pack();public void actionPerformed(ActionEve

12、nt e) if (e.getSource() = number_key.one) if (com | i = 0) result.text.setText(1);com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + 1); else if (e.getSource() = number_key.two) if (com | i = 0) result.text.setText(2);com = false;i = 1; else sum = result.text.getText();res

13、ult.text.setText(sum + 2); else if (e.getSource() = number_key.three) if (com | i = 0) result.text.setText(3);com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + 3); else if (e.getSource() = number_key.four) if (com | i = 0) result.text.setText(4);com = false;i = 1; else su

14、m = result.text.getText();result.text.setText(sum + 4); else if (e.getSource() = number_key.five) if (com | i = 0) result.text.setText(5);com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + 5); else if (e.getSource() = number_key.six) if (com | i = 0) result.text.setText(6)

15、;com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + 6); else if (e.getSource() = number_key.seven) if (com | i = 0) result.text.setText(7);com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + 7); else if (e.getSource() = number_key.eight) if (com |

16、 i = 0) result.text.setText(8);com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + 8); else if (e.getSource() = number_key.nine) if (com | i = 0) result.text.setText(9);com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + 9);else if (e.getSource() =

17、 number_key.zero) if (com | i = 0) result.text.setText(0);com = false;i = 1; else sum = result.text.getText();if (Float.parseFloat(sum) 0 | Float.parseFloat(sum) 0 | Float.parseFloat(sum) 0) result.text.setText(sum + 00); else if (sum.trim().indexOf(.) = -1) result.text.setText(sum); else result.tex

18、t.setText(sum + 00);else if (e.getSource() = number_key.point) if (com | i = 0) result.text.setText(0.);com = false;i = 1; else sum = result.text.getText();if (sum.trim().indexOf(.) = -1) result.text.setText(sum + .); else result.text.setText(sum);else if (e.getSource() = number_key.plus) com = true

19、;i = 0;total = Double.parseDouble(result.text.getText();symbol = 1;else if (e.getSource() = number_key.sub) com = true;i = 0;total = Double.parseDouble(result.text.getText();symbol = 2;else if (e.getSource() = number_key.mul) com = true;i = 0;total = Double.parseDouble(result.text.getText();System.o

20、ut.println(total);symbol = 3;else if (e.getSource() = number_key.div) com = true;i = 0;total = Double.parseDouble(result.text.getText();symbol = 4; else if (e.getSource() = number_key.equal) switch (symbol) case 1 :double ad =total + Double.parseDouble(result.text.getText();result.text.setText(ad + );i = 0;sum = ;break;case 2 :double ad =total - Double.parseDouble(result.text.getText();result.text.setText(String.valueOf(ad);i = 0;sum = ;break;case 3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論