基于javajdk的簡易計算器java課程設(shè)計_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  Java課程設(shè)計</b></p><p>  設(shè)計題目  基于JavaJDK的計算器 </p><p>  設(shè)計時間  2017 </p><p>  學(xué)生姓名  馮明宇 </p><p>

2、;  學(xué)生學(xué)號  140404211 </p><p>  所在班級  1402班 </p><p>  指導(dǎo)教師  申靜 </p><p><b>  摘要</b></p><p>  計算

3、器在我們的生活中常常會使用到,本次課程設(shè)計,利用課堂所學(xué)到的知識,通過界面以及其中的邏輯處理,完成了基本的四則運算的處理。通過awt包或者swing包中的界面設(shè)計,實現(xiàn)了通過界面來顯示輸入過程和運算結(jié)果,同時也使設(shè)計出來的計算器符合人性化的基本要求。面向?qū)ο蟮乃枷霃暮艽蟪潭壬峡梢宰尦绦虻乃悸犯忧逦?,而且可重用性很高?lt;/p><p>  關(guān)鍵詞 java;計算器;四則運算;面向?qū)ο螅?lt;/p>&l

4、t;p><b>  目 錄</b></p><p>  一.課設(shè)題目及要求…………………………………………………………….1</p><p>  1.1課設(shè)題目描述……………………………………………………………...1</p><p>  1.2基本要求…………………………………………………………………...1</p&g

5、t;<p>  二.功能描述及設(shè)計方案……………………………………………………….1</p><p>  2.1計算器功能描述……………………………………………………….…..1</p><p>  2.2設(shè)計思想及方案…………………………………………………………...1</p><p>  三.程序說明………………………………………………………………

6、…….3</p><p>  3.1界面設(shè)計…………………………………………………………………...3</p><p>  3.1.1UI組件創(chuàng)建與初始化………………………………………..……...3</p><p>  3.1.2在窗體中添加UI組件…………………………………………..……4</p><p>  3.2添加事件響應(yīng)邏輯………

7、………………………………………………..6</p><p>  3.3計算邏輯實現(xiàn)……………………………………………………………..7</p><p>  四.運行效果及存在的不足…………………………………………………….9</p><p>  4.1運行效果…………………………………………………………………..10</p><p>  4.

8、2存在的不足………………………………………………………………..10</p><p>  五.結(jié)果分析及心得體會………………………………………………………11</p><p>  六.參考文獻(xiàn)…………………………………………………………………....12</p><p>  七.源程序附錄…………………………………………………………………12</p>

9、<p><b>  一.課設(shè)題目及要求</b></p><p><b>  1.1課設(shè)題目描述</b></p><p>  在JavaJDK平臺上設(shè)計并實現(xiàn)一個基于窗口界面的計算器</p><p><b>  1.2基本要求</b></p><p>  該計算器可以運

10、算兩個兩位數(shù)的加減乘除運算,可以通過點擊窗口的按鍵來實現(xiàn)所有操作(包括輸入數(shù)字和運算符號以及作為計算等等),輸入過程及運算結(jié)果都要與按鍵所在同一窗口中呈現(xiàn)</p><p>  二.功能描述及設(shè)計方案</p><p>  2.1計算器功能描述</p><p>  本次課程設(shè)計的計算器具有能夠進行加、減、乘、除四則基本運算的基本功能,并且通過自己的努力為此計算器添加了兩

11、個附加的功能:清零和異常處理機制,即除數(shù)為0以及只單擊運算符運算的算法錯誤,并且能很好的實現(xiàn)其功能。 </p><p>  2.2設(shè)計思想及方案</p><p>  2.2.1設(shè)計思想概述</p><p>  要制作一個計算器,首先需要知道它由哪些部分組成。</p><p>  結(jié)構(gòu)上來說,一個簡單的圖形界面,需要由界面組件、組件的

12、事件監(jiān)聽器(響應(yīng)各類事件的邏輯)和具體的事件處理邏輯組成。</p><p>  2.2.2設(shè)計方案結(jié)構(gòu)圖</p><p><b>  基本運算功能方案圖</b></p><p>  異常處理機制功能方案圖</p><p>  設(shè)計好實現(xiàn)方案后,接下來,我們首先需要制作界面部分。這部分主要的工作就是創(chuàng)建各個界面組件對象,對

13、其進行初始化,以及控制各組件之間的層次關(guān)系和布局大</p><p><b>  小</b></p><p><b>  三.程序說明</b></p><p>  3.1界面設(shè)計與實現(xiàn)</p><p>  3.1.1 UI 組件創(chuàng)建和初始化</p><p><b> 

14、?。?)、面板</b></p><p>  JPanel txtpanel:用于放置文本框</p><p>  Panel btnpanel: 用于放置按鈕(0-9和+,-,*,/,=) </p><p><b> ?。?)、顯示部分</b></p><p>  a.第一個面板:txtpanel<

15、/p><p>  位置以及排列方式BorderLayout.NORTH </p><p>  txtpanel.add(txtinput):添加文本框到txtpanel面板中</p><p>  b.第二個面板:btnpanel</p><p>  排列方式:setLayout(gl)</p><p><b> 

16、?。?)、基本按鈕 </b></p><p>  btnpanel.add(b7) btnpanel.add(b8) btnpanel.add(b9);</p><p>  btnpanel.add(multiply) btnpanel.add(b4) btnpanel.add(b5);</p><p>  btnpa

17、nel.add(b6) btnpanel.add(divide) btnpanel.add(b1);</p><p>  btnpanel.add(b2) btnpanel.add(b3) btnpanel.add(add);</p><p>  btnpanel.add(b0) .add(bdes) btnpanel.add(equal);&

18、lt;/p><p>  btnpanel.add(subtract) </p><p>  以上是在第二個面板btnpanelH中添加的0到9和+,-,*,/,=的按鈕。</p><p>  首先我們需要將界面中要用到的 UI 組件作為 Calculator 類的成員變量在一開始聲明。主要代碼如下:</p><p>  // 繼承一個 JFram

19、e 對象。JFrame 可以理解為程序的主窗體。</p><p>  public class Calculator extends JFrame implements ActionListener</p><p><b>  {</b></p><p>  //txtpanel用于放置文本框,btnpanel用于放置按鈕</p>

20、<p>  JPanel txtpanel,btnpanel;</p><p>  //創(chuàng)建文本框,用于顯示內(nèi)容 </p><p>  JTextField txtinput;</p><p><b>  .</b></p><p><b>  .</b></p><

21、p><b>  .</b></p><p>  //聲明各個UI組件對象并初始化</p><p>  public Calculator()</p><p><b>  {</b></p><p>  super("基于JavaJDK的計算器");</p>&

22、lt;p>  txtpanel=new JPanel();</p><p>  btnpanel=new JPanel();</p><p>  // 參數(shù) 25 表明可以顯示 25 列的文本內(nèi)容</p><p>  txtinput=new JTextField(25);</p><p>  // 設(shè)置文本框不能編輯</p>

23、;<p>  txtinput.setEditable(false); </p><p>  // 設(shè)置文本框為右對齊,使輸入和結(jié)果都靠右顯示</p><p>  txtinput.setHorizontalAlignment(JTextField.RIGHT); txtinput.setText("");</p><p><

24、b>  // 數(shù)字鍵0到9</b></p><p>  b1=new JButton("1");</p><p>  b2=new JButton("2");</p><p>  b3=new JButton("3");</p><p>  b4=new JButt

25、on("4");</p><p>  b5=new JButton("5");</p><p>  b6=new JButton("6");</p><p>  b7=new JButton("7");</p><p>  b8=new JButton("

26、;8");</p><p>  b9=new JButton("9");</p><p>  b0=new JButton("0");</p><p>  // 計算命令按鈕,加減乘除以及小數(shù)點,清除等</p><p>  bdes=new JButton(".");<

27、;/p><p>  add=new JButton("+");</p><p>  subtract=new JButton("-");</p><p>  multiply=new JButton("*");</p><p>  divide=new JButton("/&q

28、uot;);</p><p>  clear=new JButton("清 零");</p><p>  equal=new JButton("=");</p><p>  3.1.2 在窗體中添加 UI 組件</p><p>  這個計算器有兩個 JPanel</p><p>

29、  什么是 JPanel:JPanel 是一般輕量級容器。如上圖所示,你可以將其理解為一個盛放其他 UI 組件的“籃子”。 JPanel 位于 javax.swing 包中,為面板容器,可以加入到 JFrame 中 , 它自身是個容器,也可以把其他 component (組件) 加入到 JPanel 中,例如 JButton、JTextArea、JTextField 等。</p><p>  

30、在這個項目中,兩個 JPanel 分別對應(yīng)這個計算器按鍵除 “清零” 鍵外其他的鍵,另個面板則是文本框跟 “清零” 鍵。</p><p><b>  主要代碼如下:</b></p><p>  // 創(chuàng)建Jpanel 的兩個對象并初始化</p><p>  //txtpanel用于放置文本框,btnpanel用于放置按鈕</p>

31、<p>  JPanel txtpanel,btnpanel;</p><p><b>  .</b></p><p><b>  .</b></p><p><b>  .</b></p><p>  //將UI組件添加進容器內(nèi)</p><p&g

32、t;  getContentPane().add(txtpanel,BorderLayout.NORTH);</p><p>  txtpanel.add(txtinput);</p><p>  txtpanel.add(clear);</p><p>  // 設(shè)置該容器的布局為四行四列,邊距為5像素</p><p>  gl=new G

33、ridLayout(4,4,5,5);</p><p>  btnpanel.setLayout(gl);</p><p>  getContentPane().add(btnpanel);</p><p>  // 將用于計算的按鈕添加到容器內(nèi)</p><p>  btnpanel.add(b7);</p><p>

34、  btnpanel.add(b8);</p><p>  btnpanel.add(b9);</p><p>  btnpanel.add(multiply);</p><p>  btnpanel.add(b4);</p><p>  btnpanel.add(b5);</p><p>  btnpanel.add

35、(b6);</p><p>  btnpanel.add(divide);</p><p>  btnpanel.add(b1);</p><p>  btnpanel.add(b2);</p><p>  btnpanel.add(b3);</p><p>  btnpanel.add(add);</p>

36、<p>  btnpanel.add(b0);</p><p>  btnpanel.add(bdes);</p><p>  btnpanel.add(equal);</p><p>  btnpanel.add(subtract);</p><p>  // 設(shè)置主窗口大小</p><p>  set

37、Size(400,250);</p><p>  setVisible(true);</p><p>  // 設(shè)置主窗口出現(xiàn)在屏幕上的位置</p><p>  setLocation(300,200); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);</p><p><

38、b>  }</b></p><p>  布局結(jié)束后,就是計算器的難點:事件處理程序</p><p>  3.2、添加事件響應(yīng)邏輯</p><p>  對于計算器而言,涉及到的事件響應(yīng)邏輯主要有:數(shù)字鍵、加減乘除運算、等于以及清除</p><p><b>  主要代碼如下:</b></p>

39、<p>  //綁定事件響應(yīng)邏輯到各個UI組件上</p><p>  public void btnCancelActionPerformed()</p><p>  { txtinput.setText("");}</p><p>  public void actionPerformed(ActionEvent e)</p&g

40、t;<p><b>  { try{</b></p><p>  Object obj=e.getSource();</p><p>  if(obj==b1)</p><p>  txtinput.setText(txtinput.getText()+"1");</p><p>  e

41、lse if(obj==b2)</p><p>  txtinput.setText(txtinput.getText()+"2");</p><p>  else if(obj==b3)</p><p>  txtinput.setText(txtinput.getText()+"3");</p><p&

42、gt;  else if(obj==b4)</p><p>  txtinput.setText(txtinput.getText()+"4");</p><p>  else if(obj==b5)</p><p>  txtinput.setText(txtinput.getText()+"5");</p>

43、<p>  else if(obj==b6)</p><p>  txtinput.setText(txtinput.getText()+"6");</p><p>  else if(obj==b7)</p><p>  txtinput.setText(txtinput.getText()+"7");</p

44、><p>  else if(obj==b8)</p><p>  txtinput.setText(txtinput.getText()+"8");</p><p>  else if(obj==b9)</p><p>  txtinput.setText(txtinput.getText()+"9");

45、</p><p>  else if(obj==b0)</p><p>  txtinput.setText(txtinput.getText()+"0");</p><p>  else if(obj==bdes)</p><p>  txtinput.setText(txtinput.getText()+".

46、");</p><p>  else if(obj==add)</p><p>  { d1=Double.parseDouble(txtinput.getText());</p><p><b>  s="+";</b></p><p>  txtinput.setText("&

47、quot;);</p><p><b>  }</b></p><p>  else if(obj==subtract)</p><p>  { d1=Double.parseDouble(txtinput.getText());</p><p><b>  s="-";</b>

48、</p><p>  txtinput.setText(""); </p><p><b>  }</b></p><p>  else if(obj==divide)</p><p>  { d1=Double.parseDouble(txtinput.getText());</p>

49、<p><b>  s="/";</b></p><p>  txtinput.setText("");</p><p><b>  }</b></p><p>  else if(obj==multiply)</p><p>  { d1=Doub

50、le.parseDouble(txtinput.getText());</p><p><b>  s="*";</b></p><p>  txtinput.setText("");</p><p><b>  }</b></p><p>  3.3、計算邏

51、輯的實現(xiàn)</p><p>  計算的邏輯要針對輸入的不同運算符來對操作數(shù)進行運算,同時還要考慮到除數(shù)為0這種不合理的以及只單擊運算符運算的算法錯誤,。</p><p><b>  主要代碼如下:</b></p><p>  double d1;//操作數(shù)1</p><p>  double d2;// 操作數(shù)2</

52、p><p>  String s;// 運算符</p><p><b>  .</b></p><p><b>  .</b></p><p><b>  .</b></p><p><b>  //計算邏輯</b></p>

53、<p>  else if(obj==equal)</p><p>  { if(s=="+")</p><p>  { d2=d1+Double.parseDouble(txtinput.getText());</p><p><b>  //顯示結(jié)果</b></p><p>  tx

54、tinput.setText(Double.toString(d2));</p><p><b>  }</b></p><p>  else if(s=="-")</p><p>  { d2=d1-Double.parseDouble(txtinput.getText());</p><p>&l

55、t;b>  //顯示結(jié)果</b></p><p>  txtinput.setText(Double.toString(d2));</p><p><b>  }</b></p><p>  else if(txtinput.equals(txtinput.getText())&&obj==subtract)&

56、lt;/p><p>  { d2=d1-Double.parseDouble(txtinput.getText());</p><p><b>  //顯示結(jié)果</b></p><p>  txtinput.setText(Double.toString(d2)); }</p><p>  else if(s=="

57、/")</p><p>  { if(Double.parseDouble(txtinput.getText())==0)</p><p>  // 除數(shù)為零:當(dāng)除數(shù)為零時,彈出“除數(shù)不能為零”窗體</p><p>  JOptionPane.showMessageDialog(this, "除數(shù)不能為0");</p>&

58、lt;p>  d2=d1/Double.parseDouble(txtinput.getText());</p><p>  txtinput.setText(Double.toString(d2));</p><p><b>  }</b></p><p>  else if(s=="*")</p>&

59、lt;p>  { d2=d1*Double.parseDouble(txtinput.getText());</p><p>  txtinput.setText(Double.toString(d2)); </p><p><b>  }</b></p><p><b>  }</b></p><

60、;p><b>  }</b></p><p>  catch(Exception ouch)</p><p>  //錯誤輸入:當(dāng)只單擊運算符時,彈出“錯誤輸入”窗體</p><p>  { JOptionPane.showMessageDialog(null,"錯誤輸入","error",<

61、/p><p>  JOptionPane.ERROR_MESSAGE); }</p><p><b>  }</b></p><p>  四.效果及存在的問題</p><p><b>  4.1運行效果</b></p><p> ?。?)加法運算功能:</p>&l

62、t;p><b>  例如12+14=</b></p><p>  先輸入12,在按+,在輸入14在按=,結(jié)果如下圖</p><p>  (2)減法運算功能:</p><p><b>  例如26-14=</b></p><p>  先輸入26,在按-,在輸入14,在按=,結(jié)果如下圖</p

63、><p>  (3)乘法運算功能:</p><p><b>  例如25*15=</b></p><p>  先輸入25,在按*,在輸入15,在按=,結(jié)果如下圖</p><p> ?。?)除法運算功能:</p><p><b>  例如125\5=</b></p>

64、<p>  先輸入125,在按\,在輸入5,在按=,結(jié)果如下圖</p><p>  (5) “清零按鈕”數(shù)據(jù)清除功能</p><p><b>  清除前</b></p><p><b>  清除后</b></p><p> ?。?). 異常處理機制</p><p>

65、<b>  當(dāng)除數(shù)為0時</b></p><p>  當(dāng)只單擊運算符號運算時</p><p>  4.2本計算器存在的不足</p><p>  在完成課程設(shè)計的期間,參閱了相關(guān)的書籍并在網(wǎng)絡(luò)上查找相關(guān)的資料,對實現(xiàn)這個設(shè)計提供了很大的幫助。由于目前知識方面的匱乏,本次課程設(shè)計的計算器沒能夠順利實現(xiàn)開方運算、正余弦正切運算、階乘運算,進制轉(zhuǎn)換等高

66、級,更復(fù)雜的數(shù)據(jù)計算功能,希望在以后的時間里豐富這方面的知識,以便更好的運用。</p><p>  五.結(jié)果分析及心得體會</p><p>  在這次課程設(shè)計中,我利用課堂所學(xué)的知識和通過查閱課外資料,順利的實現(xiàn)了計算器的各個功能,并對其進行按鍵的排版、監(jiān)聽、處理、運算等各個步驟的親力親為,基本上完成了任務(wù)書上的各項內(nèi)容。</p><p>  雖然在這次的課程設(shè)計的

67、過程和結(jié)果中,也存在一些的不足, 但通過分析和解決,我也收獲了很多。其次,在本次的課程設(shè)計中,通過與同學(xué)們的交流,解決了不少長久以來困擾我的java語言問題,讓我深切體會到了大家共同努力的重要性。在設(shè)計這個系統(tǒng)的時候,我查閱了很多相關(guān)的書籍,并通過網(wǎng)絡(luò)解決了不少問題。通過這次課程設(shè)計,我對eclipse的開發(fā)環(huán)境和使用也有了更多的認(rèn)識和了解,讓我對java語言的認(rèn)識又加深了一步,不僅使我學(xué)會了如何查閱資料,同時也讓我發(fā)現(xiàn)了網(wǎng)絡(luò)這個好老師

68、,總之收獲了很多。</p><p><b>  六.參考文獻(xiàn)</b></p><p>  [1] 雍俊海 《Java程序設(shè)計教程》(第三版) 清華大學(xué)出版社 </p><p>  [2](美)??藸?#160;著,陳昊鵬 譯 《Java編程思想》(第4版).機械工業(yè)出版社</p&

69、gt;<p>  [3] 李興華 《Java從入門到精通》 人民郵電出版社 2010-4-1版 </p><p>  [4] 溫沿書 《Java入門與實戰(zhàn)教程》人民郵電出版社2010-03-01版</p><p>  [5] 李鐘尉 《Java范例完全自學(xué)手冊》 人民郵電出版社

70、 2009-10-1 </p><p><b>  七.源程序附錄</b></p><p>  package com.demo1;</p><p>  import javax.swing.*;</p><p>  import java.awt.*;</p><p>  i

71、mport java.awt.event.*;</p><p>  public class Calculator extends JFrame implements ActionListener</p><p><b>  {</b></p><p>  JPanel txtpanel,btnpanel;//txtpanel用于放置文本框,b

72、tnpanel用于放置按鈕</p><p>  JTextField txtinput;</p><p>  JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b0,bdes,multiply,divide,add,</p><p>  subtract,clear,equal;</p><p>  GridLayout

73、gl;</p><p>  double d1;//操作數(shù)1</p><p>  double d2;// 操作數(shù)2</p><p>  String s;// 運算符</p><p>  //聲明各個UI組件對象并初始化</p><p>  public Calculator()</p><p&g

74、t;<b>  {</b></p><p>  super("基于JavaJDK的計算器");</p><p>  txtpanel=new JPanel();</p><p>  btnpanel=new JPanel();</p><p>  txtinput=new JTextField(25)

75、;</p><p>  txtinput.setEditable(false);// 設(shè)置文本框不能編輯</p><p>  txtinput.setHorizontalAlignment(JTextField.RIGHT); // 設(shè)置文本框為右對齊,使輸入和結(jié)果都靠右顯示</p><p>  txtinput.setText("");<

76、/p><p>  b1=new JButton("1");</p><p>  b2=new JButton("2");</p><p>  b3=new JButton("3");</p><p>  b4=new JButton("4");</p>

77、<p>  b5=new JButton("5");</p><p>  b6=new JButton("6");</p><p>  b7=new JButton("7");</p><p>  b8=new JButton("8");</p><p>

78、;  b9=new JButton("9");</p><p>  b0=new JButton("0");</p><p>  bdes=new JButton(".");</p><p>  add=new JButton("+");</p><p>  su

79、btract=new JButton("-");</p><p>  multiply=new JButton("*");</p><p>  divide=new JButton("/");</p><p>  clear=new JButton("清 零");</p>

80、<p>  equal=new JButton("=");</p><p>  //清除鍵的邏輯(Clear)</p><p>  clear.addActionListener(new ActionListener()//注冊監(jiān)聽</p><p>  { public void actionPerformed(ActionEvent

81、 argh)</p><p>  { btnCancelActionPerformed();}</p><p><b>  });</b></p><p>  b1.addActionListener(this);</p><p>  b2.addActionListener(this);</p><

82、p>  b3.addActionListener(this);</p><p>  b4.addActionListener(this);</p><p>  b5.addActionListener(this);</p><p>  b6.addActionListener(this);</p><p>  b7.addActionL

83、istener(this);</p><p>  b8.addActionListener(this);</p><p>  b9.addActionListener(this);</p><p>  b0.addActionListener(this);</p><p>  bdes.addActionListener(this);<

84、/p><p>  multiply.addActionListener(this);</p><p>  divide.addActionListener(this);</p><p>  add.addActionListener(this);</p><p>  subtract.addActionListener(this);</p&

85、gt;<p>  equal.addActionListener(this);</p><p>  //將UI組件添加進容器內(nèi)</p><p>  getContentPane().add(txtpanel,BorderLayout.NORTH);</p><p>  txtpanel.add(txtinput);</p><p&g

86、t;  txtpanel.add(clear);</p><p>  gl=new GridLayout(4,4,5,5);</p><p>  btnpanel.setLayout(gl);</p><p>  getContentPane().add(btnpanel);</p><p>  btnpanel.add(b7);</p

87、><p>  btnpanel.add(b8);</p><p>  btnpanel.add(b9);</p><p>  btnpanel.add(multiply);</p><p>  btnpanel.add(b4);</p><p>  btnpanel.add(b5);</p><p>

88、;  btnpanel.add(b6);</p><p>  btnpanel.add(divide);</p><p>  btnpanel.add(b1);</p><p>  btnpanel.add(b2);</p><p>  btnpanel.add(b3);</p><p>  btnpanel.add(

89、add);</p><p>  btnpanel.add(b0);</p><p>  btnpanel.add(bdes);</p><p>  btnpanel.add(equal);</p><p>  btnpanel.add(subtract);</p><p>  setSize(400,250);<

90、/p><p>  setVisible(true);</p><p>  setLocation(300,200);// 設(shè)置主窗口出現(xiàn)在屏幕上的位置</p><p>  setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);</p><p><b>  }</b>&

91、lt;/p><p>  //注冊各個監(jiān)聽器,即綁定事件響應(yīng)邏輯到各個UI組件上</p><p>  public void btnCancelActionPerformed()</p><p>  { txtinput.setText("");}</p><p>  public void actionPerformed(Ac

92、tionEvent e)</p><p><b>  { try{</b></p><p>  Object obj=e.getSource();</p><p>  if(obj==b1)</p><p>  txtinput.setText(txtinput.getText()+"1");<

93、/p><p>  else if(obj==b2)</p><p>  txtinput.setText(txtinput.getText()+"2");</p><p>  else if(obj==b3)</p><p>  txtinput.setText(txtinput.getText()+"3"

94、);</p><p>  else if(obj==b4)</p><p>  txtinput.setText(txtinput.getText()+"4");</p><p>  else if(obj==b5)</p><p>  txtinput.setText(txtinput.getText()+"5

95、");</p><p>  else if(obj==b6)</p><p>  txtinput.setText(txtinput.getText()+"6");</p><p>  else if(obj==b7)</p><p>  txtinput.setText(txtinput.getText()+&

96、quot;7");</p><p>  else if(obj==b8)</p><p>  txtinput.setText(txtinput.getText()+"8");</p><p>  else if(obj==b9)</p><p>  txtinput.setText(txtinput.getTe

97、xt()+"9");</p><p>  else if(obj==b0)</p><p>  txtinput.setText(txtinput.getText()+"0");</p><p>  else if(obj==bdes)</p><p>  txtinput.setText(txtinp

98、ut.getText()+".");</p><p>  else if(obj==add)</p><p>  { d1=Double.parseDouble(txtinput.getText());</p><p><b>  s="+";</b></p><p>  txti

99、nput.setText("");</p><p><b>  }</b></p><p>  else if(obj==subtract)</p><p>  { d1=Double.parseDouble(txtinput.getText());</p><p><b>  s=&quo

100、t;-";</b></p><p>  txtinput.setText(""); </p><p><b>  }</b></p><p>  else if(obj==divide)</p><p>  { d1=Double.parseDouble(txtinput.get

101、Text());</p><p><b>  s="/";</b></p><p>  txtinput.setText("");</p><p><b>  }</b></p><p>  else if(obj==multiply)</p>

102、<p>  { d1=Double.parseDouble(txtinput.getText());</p><p><b>  s="*";</b></p><p>  txtinput.setText("");</p><p><b>  }</b></p>

103、<p><b>  //計算邏輯</b></p><p>  else if(obj==equal)</p><p>  { if(s=="+")</p><p>  { d2=d1+Double.parseDouble(txtinput.getText());</p><p><

104、b>  //顯示結(jié)果</b></p><p>  txtinput.setText(Double.toString(d2));</p><p><b>  }</b></p><p>  else if(s=="-")</p><p>  { d2=d1-Double.parseDo

105、uble(txtinput.getText());</p><p><b>  //顯示結(jié)果</b></p><p>  txtinput.setText(Double.toString(d2));</p><p><b>  }</b></p><p>  else if(txtinput.equ

106、als(txtinput.getText())&&obj==subtract)</p><p>  { d2=d1-Double.parseDouble(txtinput.getText());</p><p><b>  //顯示結(jié)果</b></p><p>  txtinput.setText(Double.toString

107、(d2)); }</p><p>  else if(s=="/")</p><p>  { if(Double.parseDouble(txtinput.getText())==0)</p><p>  // 除數(shù)為零:當(dāng)除數(shù)為零時,彈出“除數(shù)不能為零”窗體</p><p>  JOptionPane.showMessa

108、geDialog(this, "除數(shù)不能為0");</p><p>  d2=d1/Double.parseDouble(txtinput.getText());</p><p>  txtinput.setText(Double.toString(d2));</p><p><b>  }</b></p>&

109、lt;p>  else if(s=="*")</p><p>  { d2=d1*Double.parseDouble(txtinput.getText());</p><p>  txtinput.setText(Double.toString(d2)); </p><p><b>  }</b></p>

110、<p><b>  }</b></p><p><b>  }</b></p><p>  catch(Exception ouch)</p><p>  //錯誤輸入:當(dāng)只單擊運算符時,彈出“錯誤輸入”窗體</p><p>  { JOptionPane.showMessageDia

111、log(null,"錯誤輸入","error",</p><p>  JOptionPane.ERROR_MESSAGE); }</p><p><b>  }</b></p><p>  //設(shè)置程序顯示的界面風(fēng)格</p><p>  public static void mai

112、n(String args[])</p><p><b>  { try {</b></p><p>  UIManager.setLookAndFeel ("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");}</p><p>  catch(Exception e)

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論