簡易計算器課程設計_第1頁
已閱讀1頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  目錄</b></p><p>  一、運行環(huán)境··························

2、83;·················5</p><p>  二、問題描述及要求·············

3、3;························5</p><p>  三、需求分析·······&#

4、183;····································

5、5</p><p>  四、設計思路·······························

6、3;············5</p><p>  4.1工作原理圖···················

7、····················6</p><p>  4.2功能規(guī)劃···········

8、83;·····························6</p><p>  五、程序的界面設計及代碼實現(xiàn)·

9、;···························7</p><p>  5.1聲明的類····&#

10、183;···································7</

11、p><p>  5.2引用的包································

12、83;·······7</p><p>  5.3界面設計························

13、················7</p><p>  5.4計算功能實現(xiàn)···············&

14、#183;····················15</p><p>  六、參考文獻··········

15、3;································21</p><p>  七

16、、總結····································&

17、#183;··········21</p><p>  八、源代碼·····················

18、;························22</p><p><b>  一、運行環(huán)境</b></p><p>  (1

19、).操作系統(tǒng):Solaris、Windows xp、Windows 7等</p><p>  (2). 應用軟件:jdk1.5、Eclipse</p><p><b>  二、問題描述及要求</b></p><p>  制作一個計算器,要求仿Windows里的計算器,設計一個圖形界面,其中基本組件包括0~9、+、-、*、/、.、=、+/-、Ba

20、ck、CE、C、sqrt、%、1/x、。其基本功能完成加減乘除、開方、求模、求倒,十進制與八進制、二進制、十六進制的轉換等,</p><p>  退格、清零等按鈕的實現(xiàn)。</p><p>  在我的計算器上實現(xiàn)了以上功能。在菜單欄有查看、編輯、幫助菜單,在“查看”菜單中有“標準型”菜單項,實現(xiàn)加減乘除等基本功能,“科學型”菜單項,實現(xiàn)進制間的轉換。在“編輯”菜單中有“復制”、“粘貼”菜單項

21、。“幫助”菜單中有“關于計算器”、“幫助主題”菜單項,并實現(xiàn)相關功能。</p><p><b>  三、需求分析</b></p><p>  日常生活中經(jīng)常需要用到計算器,比如科學計算、數(shù)值計算、會計業(yè)務等,但簡單的計算器已不能滿足日常需要,因此有必要開發(fā)一些進制轉換、開方等多種運算的計算器。</p><p>  創(chuàng)建一個簡單計算器,具有簡單的

22、人機交互界面,便于數(shù)據(jù)計算。我的計算器具有的功能如下:</p><p>  1、實現(xiàn)基本的加、減、乘、除四則運算及開方、求倒、求模。</p><p>  2、Back退格、CE返回上層運算符、C清零功能。</p><p>  3、十進制與二進制、八進制、十六進制之間的轉換。</p><p>  4、菜單中包含的一些功能,如幫助文檔。</

23、p><p><b>  四、設計思路</b></p><p><b>  4.1 工作原理圖</b></p><p><b>  4.2功能規(guī)劃</b></p><p>  本程序繼承父類Frame,運用了布局管理器GridLayout和Borderlayout,將界面分為三塊,頂

24、上為單行文本框,中間為進制單選鈕和退格、清空按鈕,下面是數(shù)字、符號按鈕。各種按鈕采用n行n列的網(wǎng)格布局,并注冊按鈕事件監(jiān)聽器。</p><p>  事件監(jiān)聽器中的事件處理方法void actionPerformed(ActionEvent event)完成主要的按鈕事件的處理。事件分為以下幾種情況:數(shù)字按鈕事件(0~9)、運算符按鈕事件(+、-、×、/、%)、正負號按鈕事件(+/-)、小數(shù)點按鈕事件(.

25、)、等號按鈕事件(=)、求倒按鈕事件(1/x)、三角函數(shù)按鈕事件(cos,sin,tan)、開方按鈕事件(sqrt)、對數(shù)按鈕事件(lgX,lnX)、進制轉換按鈕事件。</p><p>  在此聲明的是每次輸入的數(shù)據(jù)都要進行類型轉換。</p><p>  五、程序的界面設計及代碼實現(xiàn)</p><p><b>  5.1聲明的類</b></

26、p><p>  * 類名: calculator *</p><p>  * 作用: 主類。*</p><p>  * 繼承的父類: JFrame類 *</p><p>  * 實現(xiàn)的接口:ActionListener類 *</p><p>  **************************************

27、********************</p><p>  * 類名: WindowDestroyer *</p><p>  * 作用: 退出窗口動作。 *</p><p>  * 繼承的父類: WindowAdapter類 *</p><p>  * 實現(xiàn)的接口:無 *</p><p>  **********

28、************************************************</p><p>  * 類名: objConversion *</p><p>  * 作用: 各個進制之間的轉換。*</p><p>  * 繼承的父類: 無 *</p><p>  * 實現(xiàn)的接口:無 *</p><p&g

29、t;  **********************************************************</p><p><b>  5.2引用的包</b></p><p>  import java.awt.*;</p><p>  import javax.swing.*;</p><p>  i

30、mport java.lang.Math;</p><p>  import java.awt.event.*;</p><p><b>  5.3界面設計</b></p><p> ?。?、調試后的界面:標準型</p><p>  JScrollPane scrollHelp;</p><p> 

31、 private objConversion convert = new objConversion();</p><p>  JMenuItem fileMenu,exitItemOfFile,s,t, about, me;</p><p>  JRadioButton sixteen,ten,eight,two;//單選按扭</p><p><b> 

32、 Jbutton </b></p><p>  Back,ce,c,num0,num1,num2,num3,num4,num5,num6,num7,num8,num9;</p><p>  Jbutton a,b,cc,dd,ee,ff,jia,jian,cheng,chu,quyu,deng,fu,dian,kai,dao,cos,sin,tan,lgX,lnX;</p

33、><p>  Container cp;//容器,便于集體操作</p><p>  JTextField text;</p><p>  String copycontent="";</p><p>  boolean clickable=true,clear=true;</p><p>  int a

34、ll=0;</p><p>  double qian;</p><p>  String fuhao,copy;</p><p>  int jin=10,first=1;</p><p>  public Calculator(){</p><p>  super("計算器");</p&g

35、t;<p>  setSize(400,400);</p><p>  setLocation(400,400);</p><p>  text=new JTextField(25);</p><p>  text.setHorizontalAlignment(JTextField.LEFT);//從左到右</p><p>  

36、JPanel cp1=new JPanel();</p><p>  JPanel cp2=new JPanel();</p><p>  JPanel cp3=new JPanel();</p><p>  cp=getContentPane();</p><p>  cp.add(cp1,"North");</p

37、><p>  cp.add(cp2,"Center");</p><p>  cp.add(cp3,"South");</p><p>  cp1.setLayout(new GridLayout(1,1));</p><p>  cp2.setLayout(new GridLayout(2,4));<

38、;/p><p>  cp3.setLayout(new GridLayout(7,4));</p><p>  sixteen=new JRadioButton("十六進制");</p><p>  sixteen.setVisible(false);</p><p>  ten=new JRadioButton("

39、進制",true);</p><p>  ten.setVisible(false);</p><p>  eight=new JRadioButton("八進制");</p><p>  eight.setVisible(false);</p><p>  two=new JRadioButton("

40、二進制");</p><p>  two.setVisible(false);</p><p>  a = new JButton("A");</p><p>  a.setVisible(false);</p><p>  b = new JButton("B");</p>&

41、lt;p>  b.setVisible(false);</p><p>  cc = new JButton("C");</p><p>  cc.setVisible(false);</p><p>  dd = new JButton("D");</p><p>  dd.setVisible

42、(false);</p><p>  ee = new JButton("E");</p><p>  ee.setVisible(false);</p><p>  ff = new JButton("F");</p><p>  ff.setVisible(false);</p>&l

43、t;p>  jia = new JButton("+");</p><p>  jian = new JButton("-");</p><p>  cheng = new JButton("×");</p><p>  chu = new JButton("÷"

44、;);</p><p>  quyu = new JButton("%");</p><p>  deng = new JButton("=");</p><p>  fu = new JButton("+/-");</p><p>  dian = new JButton(&quo

45、t;.");</p><p>  kai = new JButton("sqrt");</p><p>  dao = new JButton("1/x");</p><p>  num0=new JButton("0");</p><p>  num1=new JButt

46、on("1");</p><p>  num2=new JButton("2");</p><p>  num3=new JButton("3");</p><p>  num4=new JButton("4");</p><p>  num5=new JButt

47、on("5");</p><p>  num6=new JButton("6");</p><p>  num7=new JButton("7");</p><p>  num8=new JButton("8");</p><p>  cos=new JButto

48、n("cos");</p><p>  sin=new JButton("sin");</p><p>  tan=new JButton("tan");</p><p>  lgX=new JButton("lgX");</p><p>  lnX=new JB

49、utton("lnX");</p><p>  num9=new JButton("9");</p><p>  sixteen.addActionListener(this);</p><p>  ten.addActionListener(this);</p><p>  eight.addActi

50、onListener(this);</p><p>  two.addActionListener(this);</p><p>  ButtonGroup btg=new ButtonGroup();//創(chuàng)建一個多斥作用域</p><p>  btg.add(sixteen);</p><p>  btg.add(ten);</p&g

51、t;<p>  btg.add(eight);</p><p>  btg.add(two);</p><p>  cp1.add(text);</p><p>  text.setEditable(false);</p><p>  text.setBackground(Color.white);</p><

52、;p>  Back=new JButton("Back");//Back</p><p>  Back.setForeground(Color.red);</p><p>  Back.addActionListener(this);</p><p>  ce=new JButton("CE");//CE</p&g

53、t;<p>  ce.setForeground(Color.red);</p><p>  ce.addActionListener(this);</p><p>  c=new JButton("C");//C</p><p>  c.setForeground(Color.red);</p><p> 

54、 c.addActionListener(this);</p><p>  cp2.add(sixteen);</p><p>  cp2.add(ten);</p><p>  cp2.add(eight);</p><p>  cp2.add(two);</p><p>  cp2.add(Back);</p

55、><p>  cp2.add(ce);</p><p>  cp2.add(c);</p><p>  cp3.add(num7);</p><p>  num7.addActionListener(this);</p><p>  cp3.add(num8);</p><p>  num8.add

56、ActionListener(this);</p><p>  cp3.add(num9);</p><p>  num9.addActionListener(this);</p><p>  cp3.add(chu);</p><p>  chu.addActionListener(this);</p><p>  

57、cp3.add(kai);</p><p>  kai.addActionListener(this);</p><p>  cp3.add(num4);</p><p>  num4.addActionListener(this);</p><p>  cp3.add(num5);</p><p>  num5.ad

58、dActionListener(this);</p><p>  cp3.add(num6);</p><p>  num6.addActionListener(this);</p><p>  cp3.add(cheng);</p><p>  cheng.addActionListener(this);</p><p&

59、gt;  cp3.add(quyu);</p><p>  quyu.addActionListener(this);</p><p>  cp3.add(num1);</p><p>  num1.addActionListener(this);</p><p>  cp3.add(num2);</p><p>  

60、num2.addActionListener(this);</p><p>  cp3.add(num3);</p><p>  num3.addActionListener(this);</p><p>  cp3.add(jian);</p><p>  jian.addActionListener(this);</p>&

61、lt;p>  cp3.add(dao);</p><p>  dao.addActionListener(this);</p><p>  cp3.add(num0);</p><p>  num0.addActionListener(this);</p><p>  cp3.add(fu);</p><p> 

62、 fu.addActionListener(this);</p><p>  cp3.add(dian);</p><p>  dian.addActionListener(this);</p><p>  cp3.add(jia);</p><p>  jia.addActionListener(this);</p><

63、p>  cp3.add(deng);</p><p>  deng.addActionListener(this);</p><p>  cp3.add(cos);</p><p>  cos.addActionListener(this);</p><p>  cp3.add(sin);</p><p>  s

64、in.addActionListener(this);</p><p>  cp3.add(tan);</p><p>  tan.addActionListener(this);</p><p>  cp3.add(lnX);</p><p>  lnX.addActionListener(this);</p><p&g

65、t;  cp3.add(lgX);</p><p>  lgX.addActionListener(this);</p><p>  cp3.add(a);</p><p>  a.setForeground(Color.magenta);</p><p>  a.setBackground(Color.pink);</p>&

66、lt;p>  a.addActionListener(this);</p><p>  cp3.add(b);</p><p>  b.setForeground(Color.magenta);</p><p>  b.setBackground(Color.pink);</p><p>  b.addActionListener(th

67、is);</p><p>  cp3.add(cc);</p><p>  cc.setForeground(Color.magenta);</p><p>  cc.setBackground(Color.pink);</p><p>  cc.addActionListener(this);</p><p>  c

68、p3.add(dd);</p><p>  dd.setForeground(Color.magenta);</p><p>  dd.setBackground(Color.pink);</p><p>  dd.addActionListener(this);</p><p>  cp3.add(ee);</p><p

69、>  ee.setForeground(Color.magenta);</p><p>  ee.setBackground(Color.pink);</p><p>  ee.addActionListener(this);</p><p>  cp3.add(ff);</p><p>  ff.setForeground(Color

70、.magenta);</p><p>  ff.setBackground(Color.pink);</p><p>  ff.addActionListener(this);</p><p>  JMenuBar mainMenu = new JMenuBar();</p><p>  setJMenuBar(mainMenu);</

71、p><p>  JMenu editMenu = new JMenu("編輯");</p><p>  JMenu viewMenu = new JMenu("查看");</p><p>  JMenu helpMenu = new JMenu("幫助");</p><p>  main

72、Menu.add(viewMenu);</p><p>  mainMenu.add(editMenu);</p><p>  mainMenu.add(helpMenu);</p><p>  fileMenu = new JMenu("復制C Ctrl+C");</p><p>  exitItemOfFile = n

73、ew JMenuItem("粘貼V Ctrl+V");</p><p>  fileMenu.addActionListener(this);</p><p>  exitItemOfFile.addActionListener(this);</p><p>  editMenu.add(fileMenu);</p><p&g

74、t;  editMenu.add(exitItemOfFile);</p><p>  t = new JMenuItem("●標準型");</p><p>  s = new JMenuItem(" 科學型");</p><p>  viewMenu.add(t);</p><p>  viewM

75、enu.add(s);</p><p>  t.addActionListener(this);</p><p>  s.addActionListener(this);</p><p>  about = new JMenuItem(" 關于計算器");</p><p>  me = new JMenuItem(&quo

76、t; 幫助主題");</p><p>  helpMenu.add(about); </p><p>  helpMenu.add(me);</p><p>  about.addActionListener(this);</p><p>  me.addActionListener(this);</p><p&

77、gt;  addWindowListener(new WindowDestroyer());</p><p><b> ?。病⒖茖W型:</b></p><p> ?。场⑦@是“幫助”菜單里的“幫助主題”菜單項:用了JtextArea將內容顯示出來</p><p>  me = new JMenuItem(" 幫助主題");&l

78、t;/p><p>  JTextArea help = new JTextArea(10, 30); </p><p>  scrollHelp = new JScrollPane(help); </p><p>  help.setEditable(false); </p><p>  help.append("執(zhí)行簡單計算 &quo

79、t;+"\n"); </p><p>  help.append("1. 鍵入計算的第一個數(shù)字。"+"\n"); </p><p>  help.append("2. 單擊“+”執(zhí)行加、“-”執(zhí)行減、“*”執(zhí)行乘或“/”執(zhí)行除"+"\n"); </p><p>  h

80、elp.append("3. 鍵入計算的下一個數(shù)字。"+"\n"); </p><p>  help.append("4. 輸入所有剩余的運算符和數(shù)字。"+"\n"); </p><p>  help.append("5. 單擊“=“ ");</p><p>  4、

81、這是“幫助”菜單里的“關于計算器”菜單項:用了JOptionPane.showMessageDialog(null, "計算機開發(fā)者:魏曉力");</p><p><b>  5.4計算功能實現(xiàn)</b></p><p><b> ?。薄⑺膭t運算</b></p><p>  if (temp == jia

82、){//加法</p><p>  qian = Double.parseDouble(text.getText());</p><p>  fuhao = "+";</p><p>  clear = false;</p><p><b>  }</b></p><p>  i

83、f (temp == jian){</p><p>  qian = Double.parseDouble(text.getText());</p><p>  fuhao = "-";</p><p>  clear = false;</p><p><b>  }</b></p>&

84、lt;p>  if (temp == cheng){</p><p>  qian = Double.parseDouble(text.getText());</p><p>  fuhao = "×";</p><p>  clear = false;</p><p><b>  }</b

85、></p><p>  if(temp==chu){</p><p>  qian = Double.parseDouble(text.getText());</p><p>  fuhao = "÷";</p><p>  clear = false;</p><p><b&

86、gt;  }</b></p><p>  if (temp == quyu){</p><p>  qian = Double.parseDouble(text.getText());</p><p>  fuhao="%";</p><p>  clear = false;</p><p&

87、gt;<b>  }</b></p><p>  if (temp == deng){</p><p>  double ss = Double.parseDouble(text.getText());</p><p>  text.setText("");</p><p>  if (fuhao =

88、= "+")</p><p>  text.setText(qian + ss + "");</p><p>  if (fuhao == "-")</p><p>  text.setText(qian - ss + "");</p><p>  if (fuh

89、ao == "×")</p><p>  text.setText(qian * ss + "");</p><p>  if (fuhao == "÷")</p><p>  text.setText(qian / ss + "");</p><

90、p>  if(fuhao=="%")</p><p>  text.setText(qian%ss + "");</p><p>  clear = false;//要清空前一次的數(shù)據(jù)</p><p><b>  }</b></p><p><b> ?。病⑷呛瘮?shù)

91、運算</b></p><p>  if(temp==cos){ text.setText(Double.toString(Math.cos(Double.parseDouble(text.getText())*Math.PI/180)));</p><p><b>  }</b></p><p>  if(tem

92、p==sin){</p><p>  text.setText(Double.toString(Math.sin(Double.parseDouble(text.getText())*Math.PI/180)));</p><p><b>  }</b></p><p>  if(temp==tan){ </p><p>

93、;  text.setText(Double.toString(Math.tan(Double.parseDouble(text.getText())*Math.PI/180)));</p><p><b>  }</b></p><p><b>  3、對數(shù)運算</b></p><p>  if(temp==lgX){

94、 text.setText(Double.toString(Math.log10(Double.parseDouble(text.getText()))));</p><p><b>  }</b></p><p>  if(temp==lnX){ text.setText(Double.toString(Math.log(Double.pa

95、rseDouble(text.getText()))));</p><p><b>  }</b></p><p><b> ?。础㈤_方、求倒運算</b></p><p>  if (temp == kai){</p><p>  String s = text.getText();</p&g

96、t;<p>  if (s.charAt(0) == '-')</p><p>  text.setText("負數(shù)不能開根號");</p><p>  else </p><p>  text.setText(Double.toString(java.lang.Math.sqrt</p>&

97、lt;p>  (Double.parseDouble(text.getText()))));</p><p>  clear = false;</p><p><b>  }</b></p><p>  if (temp == dao){</p><p>  if (text.getText().charAt(0)

98、 == '0' && text.getText().length() == 1)</p><p>  text.setText("除數(shù)不能為零");</p><p><b>  else{</b></p><p>  boolean isDec = true;</p><p

99、>  int i, j, k;</p><p>  String s = Double.toString(1 / Double.parseDouble(text.getText()));</p><p>  for (i = 0; i < s.length(); i++)</p><p>  if (s.charAt(i) == '.')

100、</p><p><b>  break;</b></p><p>  for (j = i + 1; j < s.length(); j++)</p><p>  if (s.charAt(j) != '0'){</p><p>  isDec = false; break;</p>

101、<p><b>  }</b></p><p>  if (isDec == true){</p><p>  String stemp = "";</p><p>  for (k = 0; k < i; k++)</p><p>  stemp += s.charAt(k);&l

102、t;/p><p>  text.setText(stemp);</p><p><b>  }</b></p><p><b>  else</b></p><p>  text.setText(s);</p><p><b>  }</b></p&g

103、t;<p>  clear = false;</p><p><b>  } </b></p><p><b>  5、正負號運算</b></p><p>  if (temp == fu){</p><p>  boolean isNumber = true;</p>

104、<p>  String s = text.getText();</p><p>  for (int i = 0; i < s.length(); i++) if(!(s.charAt(i)>='0'&&s.charAt(i)<='9'||s.charAt(i)=='.'||s.charAt(i)=

105、='-')){</p><p>  isNumber = false; break;</p><p><b>  }</b></p><p>  if (isNumber == true){ </p><p>  if (s.charAt(0) == '-'){</p>&

106、lt;p>  text.setText("");</p><p>  for (int i = 1; i < s.length(); i++){</p><p>  char a = s.charAt(i);</p><p>  text.setText(text.getText() + a);</p><p>

107、;<b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  text.setText('-' + s);</p><p><b>  }</b></p>

108、<p><b>  }</b></p><p><b> ?。丁⑼顺龃翱趧幼?lt;/b></p><p>  class WindowDestroyer extends WindowAdapter{//</p><p>  public void windowClosing(WindowEvent e){ </

109、p><p>  System.exit(0);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  7、進制轉換</b></p><p>  class objConversion{</p>

110、<p>  public String decDec(int decNum){</p><p>  String strDecNum = Integer.toString(decNum);</p><p>  for (int i = strDecNum.length(); i < 3; i++)</p><p>  strDecNum = &q

111、uot;0" + strDecNum;</p><p>  return invert (strDecNum, 5);</p><p><b>  }</b></p><p>  public String decHex (int decNum){//10 to 16</p><p>  String strH

112、exNum = "";</p><p>  int currentNum = 0;</p><p>  while(decNum != 0){</p><p>  if (decNum > 15){</p><p>  currentNum=decNum%16;</p><p>  decNu

113、m /= 16;</p><p><b>  }</b></p><p><b>  else{</b></p><p>  currentNum = decNum;</p><p>  decNum = 0;</p><p><b>  }</b>&l

114、t;/p><p>  switch (currentNum){</p><p>  case 15: strHexNum += "F"; break;</p><p>  case 14: strHexNum += "E"; break;</p><p>  case 13: strHexNum += &q

115、uot;D"; break;</p><p>  case 12: strHexNum += "C"; break;</p><p>  case 11: strHexNum += "B"; break;</p><p>  case 10: strHexNum += "A"; break;<

116、;/p><p>  default: strHexNum +=Integer.toString(currentNum);break;</p><p><b>  }</b></p><p><b>  }</b></p><p>  return invert(strHexNum,2);</p&g

117、t;<p><b>  }</b></p><p>  public String decOct (int decNum){//10 to 8</p><p>  String strOctNum = "";</p><p>  while (decNum != 0){</p><p>

118、  if (decNum > 7){</p><p>  strOctNum += Integer.toString(decNum % 8);</p><p>  decNum /= 8;</p><p><b>  }else{</b></p><p>  strOctNum += Integer.toStrin

119、g(decNum);</p><p>  decNum = 0;</p><p><b>  }</b></p><p><b>  }</b></p><p>  return invert (strOctNum, 3);</p><p><b>  }</

120、b></p><p>  public String decBin (int decNum) {//10 to 2</p><p>  String strBinNum = "";</p><p>  while (decNum != 0) {</p><p>  if (decNum > 1){</p&

121、gt;<p>  strBinNum += Integer.toString(decNum % 2);</p><p>  decNum /= 2;</p><p><b>  }else{</b></p><p>  strBinNum += Integer.toString(decNum);</p><p&

122、gt;  decNum = 0;</p><p><b>  }</b></p><p><b>  }</b></p><p>  return invert (strBinNum, 8);</p><p><b>  }</b></p><p>  

123、private String invert(String strNum,int minLength){ </p><p>  String answer = "";</p><p>  int length = strNum.length();</p><p>  if (length < minLength){</p>&l

124、t;p>  for (int padding =(minLength -length);padding>0;padding--){</p><p>  answer += "0";</p><p><b>  }</b></p><p><b>  }</b></p><

125、p>  for(int i=length;i>0;i--)</p><p>  answer+=strNum.charAt(i-1);</p><p>  return answer;</p><p><b>  }</b></p><p><b>  }</b></p>

126、<p><b>  六、參考文獻</b></p><p>  [01]施霞萍,張歡.Java課程設計(第二版)[M]機械工業(yè)出版社.2006年8月</p><p>  [02] 耿祥義,張躍平. Java2實用教程(第三版).清華大學出版社。</p><p><b>  七、總結</b></p>&

127、lt;p>  設計給人以創(chuàng)作的沖動,但是也要為這次沖動承擔一定的痛苦,卻事后會發(fā)現(xiàn),這一切都是值得的。本次的Java課程設計讓我對Java的理論知識又有了更深一步的了解,溫故而知新,開始設計時完全沒頭緒,感覺很混亂,對書本知識不夠扎實的我深感“書到用時方恨少”,只好又一遍瀏覽全書,讓我對其有了大概的復習,對知識系統(tǒng)全面進行了了解,讓我里出了我設計的框架,遇到困難時先是苦思冥想在向同學請教。</p><p>

128、  這次課程設計使我感到收獲不小,讓我對Java的設計過程有了更深的了解,促進了對理論知識的消化與吸收,也鞏固和完善了本門課程的知識體系結構。設計過程中遇到了不少麻煩:如進制間的轉換,也遇到了平時學習中老師強調與教過的疑難點,不懂的通過翻閱資料和與同學間的討論都一一解決了。</p><p>  通過實踐讓我發(fā)現(xiàn)了我的不足,并加深了自身學習能力,提高了綜合能力。因此在以后的學習中我會通過實踐來檢驗自己的不足和加深、

129、鞏固自身。以此來完善自己的知識系統(tǒng)。</p><p>  這次課程設計的主要目的是學會Java程序開發(fā)的環(huán)境搭建與配置,并在實際運用中學習和掌握Java程序開發(fā)的全過程,以及進一步熟悉掌握Java程序設計語言的基礎內容,提高Java編程技術以及分析解決問題的綜合能力。通過這次課程設計,我基本掌握了以上要求。由于專業(yè)知識有限,以及動手能力的欠缺,所以開發(fā)的系統(tǒng)不是很完善,有一些功能未實現(xiàn),但是簡易計算器的基本功能均

130、已實現(xiàn)。以前對Java語言的很多知識認識都不深刻,做過這次課程設計之后,我對Java語言的開發(fā)有了一個比較系統(tǒng)的了解;比如:用戶圖形界面設計等的運用已經(jīng)比較熟練。</p><p><b>  八、源代碼</b></p><p>  import java.awt.*;</p><p>  import javax.swing.*;</p&

131、gt;<p>  import java.lang.Math;</p><p>  import java.awt.event.*;</p><p>  public class Calculator extends JFrame implements ActionListener{</p><p>  JScrollPane scrollHelp;&

132、lt;/p><p>  private objConversion convert = new objConversion();//各個進制之間的轉化</p><p>  JMenuItem fileMenu,exitItemOfFile,s,t, about, me;</p><p>  JRadioButton sixteen,ten,eight,two;//單選按

133、扭</p><p>  JButton Back,ce,c,num0,num1,num2,num3,num4,num5,num6,num7,num8,num9;</p><p>  JButton a,b,cc,dd,ee,ff,jia,jian,cheng,chu,</p><p>  quyu,deng,fu,dian,kai,dao,cos,sin,tan,l

134、gX,lnX;</p><p>  Container cp;//容器,便于集體操作</p><p>  JTextField text;</p><p>  String copycontent="";</p><p>  boolean clickable=true,clear=true;</p><

135、;p>  int all=0;</p><p>  double qian;</p><p>  String fuhao,copy;</p><p>  int jin=10,first=1;</p><p>  public Calculator(){</p><p>  super("計算器&qu

136、ot;);</p><p>  setSize(400,400);</p><p>  setLocation(400,400);</p><p>  text=new JTextField(25);</p><p>  text.setHorizontalAlignment(JTextField.LEFT);//從左到右</p>

137、<p>  JPanel cp1=new JPanel();</p><p>  JPanel cp2=new JPanel();</p><p>  JPanel cp3=new JPanel();</p><p>  cp=getContentPane();</p><p>  cp.add(cp1,"North&

138、quot;);</p><p>  cp.add(cp2,"Center");</p><p>  cp.add(cp3,"South");</p><p>  cp1.setLayout(new GridLayout(1,1));</p><p>  cp2.setLayout(new GridLay

139、out(2,4));</p><p>  cp3.setLayout(new GridLayout(7,4));</p><p>  sixteen=new JRadioButton("十六進制");</p><p>  sixteen.setVisible(false);</p><p>  ten=new JRadio

140、Button("進制",true);</p><p>  ten.setVisible(false);</p><p>  eight=new JRadioButton("八進制");</p><p>  eight.setVisible(false);</p><p>  two=new JRadio

141、Button("二進制");</p><p>  two.setVisible(false);</p><p>  a = new JButton("A");</p><p>  a.setVisible(false);</p><p>  b = new JButton("B");

142、</p><p>  b.setVisible(false);</p><p>  cc = new JButton("C");</p><p>  cc.setVisible(false);</p><p>  dd = new JButton("D");</p><p>  

143、dd.setVisible(false);</p><p>  ee = new JButton("E");</p><p>  ee.setVisible(false);</p><p>  ff = new JButton("F");</p><p>  ff.setVisible(false);&

144、lt;/p><p>  jia = new JButton("+");</p><p>  jian = new JButton("-");</p><p>  cheng = new JButton("×");</p><p>  chu = new JButton(&quo

145、t;÷");</p><p>  quyu = new JButton("%");</p><p>  deng = new JButton("=");</p><p>  fu = new JButton("+/-");</p><p>  dian = new

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論