

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> Java程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告</p><p> ( 2010 -- 2011 年度第 1 學(xué)期)</p><p> 保存計(jì)算過程的計(jì)算器</p><p><b> 目 錄</b></p><p> 1 概 述1</p><p> 1.1 課程設(shè)計(jì)目的
2、1</p><p> 1.2 課程設(shè)計(jì)內(nèi)容1</p><p> 2 系統(tǒng)需求分析1</p><p> 2.1 系統(tǒng)目標(biāo)1</p><p> 2.2 主體功能1</p><p> 2.3 開發(fā)環(huán)境1</p><p> 3 系統(tǒng)概要設(shè)計(jì)1</p><p&g
3、t; 3.1 系統(tǒng)的功能模塊劃分1</p><p> 3.2 系統(tǒng)流程圖2</p><p><b> 4系統(tǒng)詳細(xì)設(shè)計(jì)2</b></p><p><b> 5 測(cè)試6</b></p><p> 5.1 測(cè)試方案6</p><p> 5.2 測(cè)試結(jié)果6&l
4、t;/p><p><b> 6 小結(jié)6</b></p><p><b> 參考文獻(xiàn)8</b></p><p><b> 附 錄9</b></p><p> 附錄1 源程序清單9</p><p> 1 概 述 <
5、;/p><p> 1.1 課程設(shè)計(jì)目的</p><p> 1.掌握J(rèn)AVA語言編程的基礎(chǔ)知識(shí)并能熟練運(yùn)用。</p><p> 2.熟悉類聲明與對(duì)象的使用。</p><p> 3.理解委托時(shí)間處理模型。</p><p> 4.了解JAVA語言的圖形用戶界面JAVAS WING的設(shè)計(jì)知識(shí)。</p>&l
6、t;p> 5.運(yùn)用JAVA SWING編寫簡(jiǎn)單計(jì)算器程序,并實(shí)現(xiàn)其功能 。 </p><p> 1.2 課程設(shè)計(jì)內(nèi)容</p><p> 設(shè)計(jì)GUI界面的計(jì)算機(jī)程序,用戶可以通過鼠標(biāo)依次輸入?yún)⒓佑?jì)算的數(shù)值,進(jìn)行加,減,乘,除,等混合運(yùn)算。</p><p><b> 2 系統(tǒng)需求分析 </b></p><p>
7、<b> 2.1 系統(tǒng)目標(biāo)</b></p><p> 一個(gè)簡(jiǎn)單的計(jì)算器程序。用戶可以利用鼠標(biāo)點(diǎn)擊數(shù)值或操作符按鍵完成計(jì)算的輸入,計(jì)算的結(jié)果將被顯示在窗口上部的文本框中。</p><p><b> 2.2 主體功能 </b></p><p> 按下數(shù)字鍵在文本框上會(huì)顯示數(shù)字,這是計(jì)算器最基本的功能</p>
8、<p> 在任何時(shí)候按下“+-”鍵,計(jì)算器文本框上的數(shù)字置反</p><p> 上面一個(gè)文本框顯示計(jì)算過程,下面一個(gè)文本框顯示輸入的數(shù)字</p><p> 當(dāng)按下的運(yùn)算符號(hào)時(shí)前面已經(jīng)按下過運(yùn)算符號(hào)時(shí),下面一個(gè)文本框顯示上一個(gè)運(yùn)算符號(hào)以及兩個(gè)數(shù)之間的運(yùn)算結(jié)果。</p><p> 按下清除“C”鍵,數(shù)據(jù)被全部清除。</p><p
9、><b> 2.3 開發(fā)環(huán)境</b></p><p><b> JDK</b></p><p><b> 3 系統(tǒng)概要設(shè)計(jì)</b></p><p> 3.1 系統(tǒng)的功能模塊劃分</p><p><b> 1.主界面模塊</b></p&
10、gt;<p><b> 2.事件相應(yīng)模塊</b></p><p><b> 3.2 系統(tǒng)流程圖</b></p><p><b> 4系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p> 1.主界面模塊詳細(xì)設(shè)計(jì)</p><p> 頂層容器:ComputerPad類實(shí)現(xiàn)主
11、窗口,頂層容器中包含了1個(gè)panel容器,1個(gè)resultshow文本框,1個(gè)process文本框。</p><p> 各組件作用:其中panel容器用于放數(shù)字按鈕,小數(shù)點(diǎn),運(yùn)算符按鈕,清零按鈕,正負(fù)轉(zhuǎn)換按鈕以及退格按鈕。兩個(gè)文本框一個(gè)用于顯示輸入數(shù)據(jù)和計(jì)算結(jié)果,另一個(gè)用于顯示計(jì)算過程。</p><p> 布局方式:頂層容器用BroadLayOut布局,process和resultsh
12、ow文本框以及panel容器分別放在定岑容器的noth,center以及south面,panel容器 用GridLayOut布局</p><p><b> 部分代碼如下</b></p><p> 數(shù)字按鈕類:實(shí)現(xiàn)數(shù)字按鈕的定義</p><p> public class NumberButton extends Button{}</
13、p><p> 運(yùn)算符按鈕類:實(shí)現(xiàn)運(yùn)算符號(hào)的定義</p><p> public class OperationButton extends Button{}</p><p> 主窗口類實(shí)現(xiàn)監(jiān)視器的注冊(cè),窗口布局,組件顏色大小等的設(shè)置</p><p> public class ComputerPad extends Frame imple
14、ments ActionListener </p><p><b> { </b></p><p> NumberButton numberButton[]; </p><p> OperationButton oprationButton[]; </p><
15、p> Button 小數(shù)點(diǎn)按鈕,正負(fù)號(hào)按鈕,退格按鈕,</p><p> 求倒數(shù)按鈕,等號(hào)按鈕,清零按鈕;</p><p> Panel panel; </p><p> JTextField resultShow; </p><p> JTextField pr
16、ocess; </p><p> String 運(yùn)算符號(hào)[]={"+","-","*","/"};</p><p> LinkedList 鏈表; </p><p> boolean
17、 是否按下等號(hào)=false; </p><p> public ComputerPad()</p><p><b> {</b></p><p> super("計(jì)算器");</p><p> 鏈表=new LinkedList();</p>&
18、lt;p> //進(jìn)行組件的聲明,初始化設(shè)置,注冊(cè)監(jiān)視器</p><p> numberButton=new NumberButton[10]; </p><p> for(int i=0;i<=9;i++)</p><p><b> {</b></p><p> numberBut
19、ton[i]=new NumberButton(i);</p><p> numberButton[i].addActionListener(this);</p><p><b> }</b></p><p> oprationButton=new OperationButton[4]; </p><p>
20、 for(int i=0;i<4;i++)</p><p><b> {</b></p><p> oprationButton[i]=new OperationButton(運(yùn)算符號(hào)[i]);</p><p> oprationButton[i].addActionListener(this);</p><p&
21、gt;<b> }</b></p><p> 小數(shù)點(diǎn)按鈕=new Button(".");</p><p> 正負(fù)號(hào)按鈕 =new Button("+/-"); </p><p> 等號(hào)按鈕=new Button("=");</p><p> 求倒數(shù)
22、按鈕=new Button("1/x");</p><p> 退格按鈕=new Button("退格");</p><p> 清零按鈕=new Button("C");</p><p> 清零按鈕.setForeground(Color.red);</p><p> 退格按鈕
23、.setForeground(Color.red);</p><p> 等號(hào)按鈕.setForeground(Color.red);</p><p> 求倒數(shù)按鈕.setForeground(Color.blue);</p><p> 正負(fù)號(hào)按鈕.setForeground(Color.blue);</p><p> 小數(shù)點(diǎn)按鈕.se
24、tForeground(Color.blue);</p><p> 退格按鈕.addActionListener(this);</p><p> 清零按鈕.addActionListener(this);</p><p> 等號(hào)按鈕.addActionListener(this);</p><p> 小數(shù)點(diǎn)按鈕.addActionLi
25、stener(this);</p><p> 正負(fù)號(hào)按鈕.addActionListener(this);</p><p> 求倒數(shù)按鈕.addActionListener(this);</p><p> //對(duì)顯示過程的文本框進(jìn)行設(shè)置</p><p> process=new JTextField(10);</p>&
26、lt;p> process.setHorizontalAlignment(JTextField.LEFT);</p><p> process.setForeground(Color.blue);</p><p> process.setFont(new Font("TimesRoman",Font.PLAIN,14));</p><p&
27、gt; process.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));</p><p> process.setBackground(Color.white); </p><p> process.setEditable(false);</p><p> //對(duì)顯示輸入值以及運(yùn)算結(jié)果的文本框進(jìn)行設(shè)置&
28、lt;/p><p> resultShow=new JTextField(10);</p><p> resultShow.setHorizontalAlignment(JTextField.RIGHT);</p><p> resultShow.setForeground(Color.blue);</p><p> resultShow
29、.setFont(new Font("TimesRoman",Font.PLAIN,14));</p><p> resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));</p><p> resultShow.setBackground(Color.white); </p><
30、;p> resultShow.setEditable(false);</p><p><b> //進(jìn)行主窗口布局</b></p><p> panel=new Panel(); </p><p> panel.setLayout(new Gr
31、idLayout(5,4)); </p><p> Panel.add(清零按鈕);</p><p> Panel.add(退格按鈕);</p><p> panel.add(numberButton[1]);</p><p> panel.add(numberButton[2]);</p><p> pan
32、el.add(numberButton[3]);</p><p> Panel.add(numberButton[4]);</p><p> panel.add(numberButton[5]);</p><p> panel.add(numberButton[6]);</p><p> Panel.add(numberButton[
33、7]);</p><p> panel.add(numberButton[8]);</p><p> panel.add(numberButton[9]);</p><p> Panel.add(numberButton[0]);</p><p> Panel.add(oprationButton[0]);</p>&l
34、t;p> panel.add(oprationButton[1]);</p><p> panel.add(oprationButton[2]);</p><p> panel.add(oprationButton[3]);</p><p> panel.add(求倒數(shù)按鈕);</p><p> panel.add(正負(fù)號(hào)按鈕
35、);</p><p> panel.add(小數(shù)點(diǎn)按鈕);</p><p> Panel.add(等號(hào)按鈕);</p><p> add(panel,BorderLayout.SOUTH);</p><p> add(resultShow,BorderLayout.CENTER);</p><p> add(
36、process,BorderLayout.NORTH);</p><p> addWindowListener(new WindowAdapter()</p><p> { public void windowClosing(WindowEvent e)</p><p><b> {</b></p><p> S
37、ystem.exit(0);</p><p><b> }</b></p><p><b> });</b></p><p> setVisible(true);</p><p> setBounds(100,50,170,190);</p><p> setRes
38、izable(false);</p><p> validate();</p><p><b> }</b></p><p> 2.事件響應(yīng)模塊詳細(xì)設(shè)計(jì)</p><p> 模塊功能:事件響應(yīng)模塊用于實(shí)現(xiàn)數(shù)據(jù)輸入,保存,運(yùn)算以及顯示。</p><p> 具體實(shí)現(xiàn):將主窗口作為窗口中所有組件
39、的監(jiān)視器 ,鏈表用來存儲(chǔ)輸入的數(shù)字以及操作符以便運(yùn)算時(shí)提取出來,監(jiān)視器用if,else if語句 分?jǐn)?shù)字按鈕,小數(shù)點(diǎn),運(yùn)算符按鈕,清零按鈕,正負(fù)轉(zhuǎn)換按鈕以及退格按鈕6種情況進(jìn)行相應(yīng)處理,其中除了清零按鈕每種情況又分成鏈表長(zhǎng)度為1,2,3作相應(yīng)的處理。</p><p> 事件響應(yīng)模塊的框架代碼如下</p><p> public void actionPerformed(ActionE
40、vent e){</p><p> 按下數(shù)字按鈕時(shí)的事件處理</p><p> if(e.getSource() instanceof NumberButton) </p><p><b> {</b></p><p> NumberButton b=(NumberButton)e.getSource();&
41、lt;/p><p> if(鏈表.size()==0) {}</p><p> else if(鏈表.size()==1&&是否按下等號(hào)==false){}</p><p> else if(鏈表.size()==1&&是否按下等號(hào)==true) {} </p><p> else if(鏈表.size()
42、==2) {} </p><p> else if(鏈表.size()==3) {} </p><p> } </p><p> //按下運(yùn)算符號(hào)時(shí)的事件處理</p><p> else if(e.getSource() instanceof OperationButton
43、) </p><p><b> {</b></p><p> OperationButton b=(OperationButton)e.getSource();</p><p> if(鏈表.size()==1) {} </p><p> else if(鏈表.size()==2) {} </p>
44、<p> else if(鏈表.size()==3) {} </p><p><b> }</b></p><p> //按下等號(hào)后的事件處理</p><p> else if(e.getSource()==等號(hào)按鈕) </p><p><b> {</b></p>
45、<p> 是否按下等號(hào)=true;</p><p> if(鏈表.size()==1||鏈表.size()==2) {} </p><p> else if(鏈表.size()==3) {} </p><p><b> }</b></p><p> /
46、/按下小數(shù)點(diǎn)后的事件處理</p><p> else if(e.getSource()==小數(shù)點(diǎn)按鈕)</p><p><b> {</b></p><p> if(鏈表.size()==0) {} </p><p> else if(鏈表.size()==1) {}
47、 </p><p> else if(鏈表.size()==3) {} </p><p><b> }</b></p><p> //按下退格鍵后的事件處理</p><p> else if(e.getSource()==退格按鈕)</p><p><b>
48、{</b></p><p> if(鏈表.size()==1) {} </p><p> else if(鏈表.size()==3) {} </p><p><b> }</b></p><p> //按下正負(fù)號(hào)后的事件處理</p&g
49、t;<p> else if(e.getSource()==正負(fù)號(hào)按鈕)</p><p> {if(鏈表.size()==1) {} </p><p> else if(鏈表.size()==3) {} </p><p><b> }</b></p><p> //按下求倒數(shù)按鈕后的事件處理<
50、;/p><p> else if(e.getSource()==求倒數(shù)按鈕)</p><p><b> {</b></p><p> if(鏈表.size()==1||鏈表.size()==2) {} </p><p> else if(鏈表.size()==3) {} </p><p>&l
51、t;b> } </b></p><p> //按下清零按鈕后的事件處理</p><p> else if(e.getSource()==清零按鈕) {} </p><p><b> }</b></p><p><b> } </b></p><p>
52、;<b> 5 測(cè)試</b></p><p><b> 5.1 測(cè)試方案</b></p><p> 進(jìn)行各種情況的輸入檢測(cè)進(jìn)行加,減,乘,除運(yùn)算,數(shù)字很大,小數(shù),整數(shù)以及先按下“=”等非法輸入情況。</p><p><b> 5.2 測(cè)試結(jié)果</b></p><p>
53、 程序正常的響應(yīng)按鈕事件,能顯示計(jì)算過程,當(dāng)運(yùn)算結(jié)果很大時(shí)用科學(xué)記數(shù)法顯示運(yùn)算結(jié)果</p><p><b> 6 小結(jié)</b></p><p> 在做本項(xiàng)目是時(shí)候,會(huì)遇到很多問題,最大的問題的如何保存已經(jīng)輸入的數(shù)字或者符號(hào)進(jìn)行運(yùn)算,如何顯示運(yùn)算過程,經(jīng)過多次研究和查詢發(fā)現(xiàn)運(yùn)可以運(yùn)用鏈表進(jìn)行存儲(chǔ)和提取數(shù)據(jù),用棧也是可以的。</p><p>
54、 此次課程設(shè)計(jì)讓我更了解熟悉了Java中的圖形用戶界面和它的編程方式。在完成課題的過程中也不斷充實(shí)了自己,學(xué)習(xí)到了很多以前沒有學(xué)習(xí)到的知識(shí),收獲很大。最大的收獲是在彎完成過程中培養(yǎng)的解決問題的能力,在做項(xiàng)目時(shí)必然會(huì)遇到困難,會(huì)有不會(huì)的東西,重要的不是現(xiàn)在會(huì)不會(huì),而是遇到問題知道如何找到解決的途徑。還使我對(duì)所學(xué)知識(shí)能夠融會(huì)貫通,又不斷豐富了新知識(shí)。Java計(jì)算器設(shè)計(jì)使得我們對(duì)所學(xué)的專業(yè)課有了更為深刻的認(rèn)識(shí),使得知識(shí)得到了鞏固和提高。<
55、;/p><p><b> 參考文獻(xiàn)</b></p><p> [1]耿祥義,張躍平. Java2實(shí)用教程(第三版)[M] . 北京:清華大學(xué)出版社, 2006 [2]耿祥義. Java課程設(shè)計(jì)(第三版)[M] . 北京:清華大學(xué)出版社, 2004</p><p> [3]張躍平.Java2實(shí)用教程實(shí)驗(yàn)指導(dǎo)與習(xí)題解答(第
56、三版)[M]. 北京:清華大學(xué)出版社, 2004</p><p><b> 附 錄</b></p><p><b> 附錄1 源程序清單</b></p><p> NumberButton.java</p><p> import java.awt.*;</p><
57、p> import java.awt.event.*;</p><p> import javax.swing.*;</p><p> public class NumberButton extends Button</p><p><b> {</b></p><p> int number;</
58、p><p> public NumberButton(int number)</p><p><b> {</b></p><p> super(""+number);</p><p> this.number=number;</p><p> setForeground
59、(Color.blue);</p><p><b> }</b></p><p> public int getNumber()</p><p><b> {</b></p><p> return number;</p><p><b> }</b
60、></p><p><b> }</b></p><p> OperationButton.java</p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> import javax.swing.
61、*;</p><p> public class OperationButton extends Button</p><p><b> {</b></p><p> String 運(yùn)算符號(hào);</p><p> public OperationButton(String s)</p><p&g
62、t;<b> {</b></p><p><b> super(s);</b></p><p><b> 運(yùn)算符號(hào)=s;</b></p><p> setForeground(Color.red);</p><p><b> }</b></
63、p><p> public String get運(yùn)算符號(hào)()</p><p><b> {</b></p><p> return 運(yùn)算符號(hào);</p><p><b> }</b></p><p><b> }</b></p><
64、;p> ComputerPad.java</p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> import javax.swing.*;</p><p> import javax.swing.border.*;</p>&
65、lt;p> import java.util.LinkedList;</p><p> import java.text.NumberFormat;</p><p> public class ComputerPad extends Frame implements ActionListener </p><p><b> {</b&g
66、t;</p><p> NumberButton numberButton[]; </p><p> OperationButton oprationButton[]; </p><p> Button 小數(shù)點(diǎn)按鈕,正負(fù)號(hào)按鈕,退格按鈕,</p><p> 求倒數(shù)按鈕,等號(hào)按鈕
67、,清零按鈕;</p><p> Panel panel; </p><p> JTextField resultShow; </p><p> JTextField process; </p><p> String 運(yùn)算符號(hào)[]=
68、{"+","-","*","/"};</p><p> LinkedList 鏈表; </p><p> boolean 是否按下等號(hào)=false; </p><p> public Co
69、mputerPad()</p><p><b> {</b></p><p> super("計(jì)算器");</p><p> 鏈表=new LinkedList();</p><p> numberButton=new NumberButton[10]; </p>
70、<p> for(int i=0;i<=9;i++)</p><p><b> {</b></p><p> numberButton[i]=new NumberButton(i);</p><p> numberButton[i].addActionListener(this);</p><p&
71、gt;<b> }</b></p><p> oprationButton=new OperationButton[4]; </p><p> for(int i=0;i<4;i++)</p><p><b> {</b></p><p> oprationButton[i]=
72、new OperationButton(運(yùn)算符號(hào)[i]);</p><p> oprationButton[i].addActionListener(this);</p><p><b> }</b></p><p> 小數(shù)點(diǎn)按鈕=new Button(".");</p><p> 正負(fù)號(hào)按鈕
73、 =new Button("+/-"); </p><p> 等號(hào)按鈕=new Button("=");</p><p> 求倒數(shù)按鈕=new Button("1/x");</p><p> 退格按鈕=new Button("退格");</p><p>
74、 清零按鈕=new Button("C");</p><p> 清零按鈕.setForeground(Color.red);</p><p> 退格按鈕.setForeground(Color.red);</p><p> 等號(hào)按鈕.setForeground(Color.red);</p><p> 求倒數(shù)按鈕.
75、setForeground(Color.blue);</p><p> 正負(fù)號(hào)按鈕.setForeground(Color.blue);</p><p> 小數(shù)點(diǎn)按鈕.setForeground(Color.blue);</p><p> 退格按鈕.addActionListener(this);</p><p> 清零按鈕.addA
76、ctionListener(this);</p><p> 等號(hào)按鈕.addActionListener(this);</p><p> 小數(shù)點(diǎn)按鈕.addActionListener(this);</p><p> 正負(fù)號(hào)按鈕.addActionListener(this);</p><p> 求倒數(shù)按鈕.addActionList
77、ener(this);</p><p> process=new JTextField(10);</p><p> process.setHorizontalAlignment(JTextField.LEFT);</p><p> process.setForeground(Color.blue);</p><p> process.
78、setFont(new Font("TimesRoman",Font.PLAIN,14));</p><p> process.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));</p><p> process.setBackground(Color.white); </p><p>
79、 process.setEditable(false);</p><p> resultShow=new JTextField(10);</p><p> resultShow.setHorizontalAlignment(JTextField.RIGHT);</p><p> resultShow.setForeground(Color.blue);<
80、/p><p> resultShow.setFont(new Font("TimesRoman",Font.PLAIN,14));</p><p> resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));</p><p> resultShow.setBackground(
81、Color.white); </p><p> resultShow.setEditable(false);</p><p> panel=new Panel(); </p><p> panel.setLayout(new GridLayout(5,4)); </p
82、><p> Panel.add(清零按鈕);</p><p> Panel.add(退格按鈕);</p><p> panel.add(numberButton[1]);</p><p> panel.add(numberButton[2]);</p><p> panel.add(numberButton[3]
83、);</p><p> Panel.add(numberButton[4]);</p><p> panel.add(numberButton[5]);</p><p> panel.add(numberButton[6]);</p><p> Panel.add(numberButton[7]);</p><p&
84、gt; panel.add(numberButton[8]);</p><p> panel.add(numberButton[9]);</p><p> Panel.add(numberButton[0]);</p><p> Panel.add(oprationButton[0]);</p><p> panel.add(opr
85、ationButton[1]);</p><p> panel.add(oprationButton[2]);</p><p> panel.add(oprationButton[3]);</p><p> panel.add(求倒數(shù)按鈕);</p><p> panel.add(正負(fù)號(hào)按鈕);</p><p>
86、; panel.add(小數(shù)點(diǎn)按鈕);</p><p> Panel.add(等號(hào)按鈕);</p><p> add(panel,BorderLayout.SOUTH);</p><p> add(resultShow,BorderLayout.CENTER);</p><p> add(process,BorderLayout.N
87、ORTH);</p><p> addWindowListener(new WindowAdapter()</p><p> { public void windowClosing(WindowEvent e)</p><p><b> {</b></p><p> System.exit(0);</p&g
88、t;<p><b> }</b></p><p><b> });</b></p><p> setVisible(true);</p><p> setBounds(100,50,170,190);</p><p> setResizable(false);</p&g
89、t;<p> validate();</p><p><b> }</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> if(e.getSource() ins
90、tanceof NumberButton) </p><p><b> {</b></p><p> NumberButton b=(NumberButton)e.getSource();</p><p> if(鏈表.size()==0) </p><p><b> {</b><
91、/p><p> int number=b.getNumber(); </p><p> 鏈表.add(""+number); </p><p> resultShow.setText(""+number);</p><p> process.setTex
92、t(""+number);</p><p> 是否按下等號(hào)=false;</p><p><b> }</b></p><p> else if(鏈表.size()==1&&是否按下等號(hào)==false)</p><p><b> {</b></p&g
93、t;<p> int number=b.getNumber();</p><p> String num=(String)鏈表.getFirst();</p><p> String s=num.concat(""+number); </p><p> 鏈表.set(0,s);</p><p>
94、; resultShow.setText(s);</p><p> process.setText(s);</p><p><b> }</b></p><p> else if(鏈表.size()==1&&是否按下等號(hào)==true)</p><p><b> {</b>&
95、lt;/p><p> int number=b.getNumber();</p><p> 鏈表.removeFirst();</p><p> 鏈表.add(""+number); </p><p> 是否按下等號(hào)=false;</p><p> result
96、Show.setText(""+number);</p><p> process.setText(""+number);</p><p><b> }</b></p><p> else if(鏈表.size()==2) </p><p>&l
97、t;b> {</b></p><p> int number=b.getNumber(); </p><p> 鏈表.add(""+number);</p><p> resultShow.setText(""+number); </p><p
98、> process.setText(""+((String)鏈表.get(0))+((String)鏈表.get(1))+number);</p><p><b> }</b></p><p> else if(鏈表.size()==3) </p><p><b> {&
99、lt;/b></p><p> int number=b.getNumber();</p><p> String num=(String)鏈表.getLast();</p><p> String s=num.concat(""+number);</p><p> process.setText("
100、;"+((String)鏈表.get(0))+((String)鏈表.get(1))+((String)鏈表.get(2))+number); </p><p> 鏈表.set(2,s);</p><p> resultShow.setText(s);</p><p><b> }</b></p><p
101、><b> }</b></p><p> else if(e.getSource() instanceof OperationButton) </p><p><b> {</b></p><p> OperationButton b=(OperationButton)e.getSource();</p
102、><p> if(鏈表.size()==1)</p><p><b> {</b></p><p> String fuhao=b.get運(yùn)算符號(hào)();</p><p> process.setText(""+((String)鏈表.get(0))+fuhao);</p><p
103、> 鏈表.add(fuhao); </p><p><b> }</b></p><p> else if(鏈表.size()==2)</p><p><b> {</b></p><p> String fuhao=b.get運(yùn)算符號(hào)();</p><p>
104、 鏈表.set(1,fuhao);</p><p> process.setText(""+((String)鏈表.get(0))+((String)鏈表.get(1))); </p><p><b> }</b></p><p> else if(鏈表.size()==3)</p>
105、;<p><b> {</b></p><p> String fuhao=b.get運(yùn)算符號(hào)();</p><p> String number1=(String)鏈表.getFirst();</p><p> String number2=(String)鏈表.getLast();</p><p&g
106、t; String 運(yùn)算符號(hào)=(String)鏈表.get(1);</p><p> process.setText(""+((String)鏈表.get(0))+((String)鏈表.get(1))+((String)鏈表.get(2))+運(yùn)算符號(hào)); </p><p><b> try</b></p><p>&
107、lt;b> {</b></p><p> double n1=Double.parseDouble(number1);</p><p> double n2=Double.parseDouble(number2);</p><p> double n=0;</p><p> if(運(yùn)算符號(hào).equals("
108、;+"))</p><p><b> {</b></p><p><b> n=n1+n2;</b></p><p><b> }</b></p><p> else if(運(yùn)算符號(hào).equals("-"))</p><
109、p><b> {</b></p><p><b> n=n1-n2;</b></p><p><b> }</b></p><p> else if(運(yùn)算符號(hào).equals("*"))</p><p><b> {</b>
110、;</p><p><b> n=n1*n2;</b></p><p><b> }</b></p><p> else if(運(yùn)算符號(hào).equals("/"))</p><p><b> {</b></p><p><
111、b> n=n1/n2;</b></p><p><b> }</b></p><p> 鏈表.clear();</p><p> 鏈表.add(""+n); </p><p> 鏈表.add(fuhao);
112、 </p><p> resultShow.setText(""+n);</p><p><b> }</b></p><p> catch(Exception ee)</p><p><b> {</b></p><p><b>
113、}</b></p><p><b> }</b></p><p><b> }</b></p><p> else if(e.getSource()==等號(hào)按鈕) </p><p><b> {</b></p><p> 是否按下等
114、號(hào)=true;</p><p> if(鏈表.size()==1||鏈表.size()==2) </p><p><b> {</b></p><p> String num=(String)鏈表.getFirst();</p><p> resultShow.setT
115、ext(""+num);</p><p> process.setText(num+"=");</p><p><b> }</b></p><p> else if(鏈表.size()==3)</p><p><b> {</b></p>
116、<p> String number1=(String)鏈表.getFirst();</p><p> String number2=(String)鏈表.getLast();</p><p> String 運(yùn)算符號(hào)=(String)鏈表.get(1);</p><p> process.setText(""+((Stri
117、ng)鏈表.get(0))+((String)鏈表.get(1))+((String)鏈表.get(2))+"="); </p><p><b> try</b></p><p><b> {</b></p><p> double n1=Double.parseDouble(number1);&
118、lt;/p><p> double n2=Double.parseDouble(number2);</p><p> double n=0;</p><p> if(運(yùn)算符號(hào).equals("+"))</p><p><b> {</b></p><p><b>
119、 n=n1+n2;</b></p><p><b> }</b></p><p> else if(運(yùn)算符號(hào).equals("-"))</p><p><b> {</b></p><p><b> n=n1-n2;</b></p
120、><p><b> }</b></p><p> else if(運(yùn)算符號(hào).equals("*"))</p><p><b> {</b></p><p><b> n=n1*n2;</b></p><p><b>
121、}</b></p><p> else if(運(yùn)算符號(hào).equals("/"))</p><p><b> {</b></p><p><b> n=n1/n2;</b></p><p><b> }</b></p><
122、;p> resultShow.setText(""+n);</p><p> 鏈表.set(0,""+n);</p><p> 鏈表.removeLast(); </p><p> 鏈表.removeLast(); </p><p><b> }</b><
123、/p><p> catch(Exception ee)</p><p><b> {</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>
124、<p> else if(e.getSource()==小數(shù)點(diǎn)按鈕)</p><p><b> {</b></p><p> if(鏈表.size()==0) </p><p><b> {</b></p><p> 是否按下等號(hào)=false;</p><
125、p><b> }</b></p><p> else if(鏈表.size()==1) </p><p><b> {</b></p><p> String dot=小數(shù)點(diǎn)按鈕.getLabel(); </p>
126、<p> String num=(String)鏈表.getFirst();</p><p> String s=null;</p><p> if(num.indexOf(dot)==-1) </p><p><b> {</b></p><p> s=nu
127、m.concat(dot); </p><p> 鏈表.set(0,s); </p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p>
128、;<b> s=num; </b></p><p><b> }</b></p><p> 鏈表.set(0,s);</p><p> resultShow.setText(s);</p><p> process.setText(s);</p><p><
129、b> }</b></p><p> else if(鏈表.size()==3)</p><p><b> {</b></p><p> String dot=小數(shù)點(diǎn)按鈕.getLabel(); </p><p> String num=(String)鏈表.getLas
130、t();</p><p> String s=null;</p><p> if(num.indexOf(dot)==-1)</p><p><b> {</b></p><p> s=num.concat(dot); </p><p> 鏈表.set(2,s);</p>
131、<p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> s=num;</b></p><p><b> }</b></p>
132、;<p> resultShow.setText(s);</p><p> process.setText(""+((String)鏈表.get(0))+((String)鏈表.get(1))+((String)鏈表.get(2)) );</p><p><b> } </b></p><p><b
133、> }</b></p><p> else if(e.getSource()==退格按鈕)</p><p><b> {</b></p><p> if(鏈表.size()==1) </p><p><b> {</b
134、></p><p> String num=(String)鏈表.getFirst();</p><p> if(num.length()>=1)</p><p><b> {</b></p><p> num=num.substring(0,num.length()-1);</p>&
135、lt;p> 鏈表.set(0,num); </p><p> resultShow.setText(num);</p><p> process.setText(""+((String)鏈表.get(0)) );</p><p><b> }</b></p>&l
136、t;p><b> else</b></p><p><b> {</b></p><p> 鏈表.removeLast(); </p><p> resultShow.setText("0");</p><p><b>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java帶計(jì)算過程的計(jì)算器課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)報(bào)告—計(jì)算器
- java計(jì)算器課程設(shè)計(jì)報(bào)告
- java計(jì)算器課程設(shè)計(jì)報(bào)告---模擬科學(xué)計(jì)算器
- 計(jì)算器java課程設(shè)計(jì)--簡(jiǎn)單計(jì)算器
- java課程設(shè)計(jì)報(bào)告--計(jì)算器設(shè)計(jì)
- java課程設(shè)計(jì)---java計(jì)算器
- java課程設(shè)計(jì)---計(jì)算器
- java課程設(shè)計(jì)—計(jì)算器
- java課程設(shè)計(jì)計(jì)算器
- java計(jì)算器課程設(shè)計(jì)
- java課程設(shè)計(jì)--計(jì)算器
- java課程設(shè)計(jì)計(jì)算器
- java計(jì)算器課程設(shè)計(jì)-- 計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)
- java計(jì)算器課程設(shè)計(jì)---計(jì)算器模擬程序
- java_計(jì)算器課程設(shè)計(jì)
- java課程設(shè)計(jì)-計(jì)算器系統(tǒng)
- java課程設(shè)計(jì)---科學(xué)計(jì)算器
- java課程設(shè)計(jì)----簡(jiǎn)易計(jì)算器
- java實(shí)現(xiàn)計(jì)算器課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論