版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目錄 </b></p><p> 一、課程設(shè)計(jì)目的2</p><p> 二、課程設(shè)計(jì)任務(wù)..................................................................................................................2</p&
2、gt;<p> 2.1、設(shè)計(jì)任務(wù)2</p><p> 2.2、課程設(shè)計(jì)要求:2</p><p> 2.3、需求分析2</p><p> 三、開發(fā)工具與平臺.............................................................................................
3、................ 3</p><p> 3.1、開發(fā)工具3</p><p> 3.2、開發(fā)平臺3</p><p> 設(shè)計(jì)思路.............................................................................................................
4、.............4</p><p> 4.1、 界面設(shè)計(jì).................................................................................................................4</p><p> 4.2.1、邏輯設(shè)計(jì)4</p><p> 4.
5、2.2、程序流程圖...........................................................................................................5</p><p> 4.2.3、主要代碼展示及說明.................................................................
6、...........................5</p><p> 4.3、 程序測試10</p><p><b> 五、實(shí)驗(yàn)小結(jié)11</b></p><p> 六、附錄 (程序代碼)12</p><p><b> 一、課程設(shè)計(jì)目的</b></p><p&g
7、t; 1、熟練掌握java面向?qū)ο缶幊獭?lt;/p><p> 2、選擇合適的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)需求。</p><p> 3、熟練使用各種控制結(jié)構(gòu)。</p><p> 4、GUI組件、事件處理技術(shù)。</p><p><b> 二、課程設(shè)計(jì)任務(wù)</b></p><p><b> 2.1、
8、設(shè)計(jì)任務(wù)</b></p><p> 設(shè)計(jì)一個(gè)簡易的計(jì)算器,可以進(jìn)行四則運(yùn)算:加、減、乘、除等(限于十進(jìn)制下)</p><p><b> 程序要求:</b></p><p> ?。?)應(yīng)具有相應(yīng)的界面,可參考Windows操作系統(tǒng)自帶的計(jì)算器界面。</p><p> ?。?)操作符號定為:“+”,“-”,“
9、*”,“/”,“+/-”等。(按國際慣例設(shè)計(jì))</p><p> ?。?)用戶通過點(diǎn)擊程序界面上按鈕,實(shí)現(xiàn)數(shù)字、運(yùn)算符的輸入操作。</p><p> ?。?)以上部分為必須完成的內(nèi)容。</p><p><b> 選作部分:</b></p><p> (1)具有操作符號“1/x”,“sqrt”(開方),“.”(小數(shù)功能
10、)等。</p><p> 2.2、課程設(shè)計(jì)要求:</p><p> ?。?)應(yīng)用自己所學(xué)課程知識完成對計(jì)算器的基本任務(wù)。</p><p> ?。?)查閱相關(guān)資料,學(xué)習(xí)和掌握項(xiàng)目中涉及的新知識,提高自學(xué)能力。</p><p> (3)通過應(yīng)用java程序編寫計(jì)算器來提升自己對簡單的圖形界面有一定的掌握和了解。</p><
11、p><b> 2.3、需求分析</b></p><p> 設(shè)計(jì)的計(jì)算器可以完成加法、減法、乘法、除法的簡單運(yùn)算。</p><p> 實(shí)現(xiàn)一些簡單的擴(kuò)展運(yùn)算,如:正負(fù)號、倒數(shù)、退格、清零等功能。</p><p> 添加小數(shù)點(diǎn)功能,用以實(shí)現(xiàn)浮點(diǎn)型數(shù)據(jù)的計(jì)算。</p><p> 使用布局管理器設(shè)計(jì)一個(gè)計(jì)算器的界
12、面,使用事件監(jiān)聽器處理數(shù)據(jù)的輸入,并完成相關(guān)的計(jì)算。</p><p><b> 三、開發(fā)工具與平臺</b></p><p><b> 3.1、開發(fā)工具</b></p><p> Microsoft Windows 7旗艦版</p><p><b> 3.2、開發(fā)平臺 </b&
13、gt;</p><p> JDK1.6.0-02 和UE編譯器</p><p><b> 四、設(shè)計(jì)思路</b></p><p> 4.1、界面設(shè)計(jì):(如圖3-1)</p><p><b> 圖3-1</b></p><p> 4.2.1、邏輯設(shè)計(jì):</p>
14、;<p> 根據(jù)所設(shè)計(jì)出來的界面,首先要設(shè)計(jì)其GUI界面,總體界面有一個(gè)文本框,20個(gè)按鈕,總體界面用BorderLayout布局,文本框放置在最NORTH,然后0到9以及+,-,*,/等按鈕放置到一個(gè)面板Panel中,完成界面設(shè)計(jì)。</p><p> 設(shè)計(jì)計(jì)算流程,首先點(diǎn)擊數(shù)字按鈕時(shí),將按鈕數(shù)值添加到文本框當(dāng)中,并將該數(shù)值保存到一個(gè)字符串中,再次點(diǎn)擊數(shù)字按鈕時(shí),將之前保存的字符串與新的數(shù)值拼接
15、起來,再添加到文本框當(dāng)中,直到點(diǎn)擊運(yùn)算符按鈕時(shí),將文本框當(dāng)中的字符串保存在一個(gè)字符串變量中,然后重置文本框內(nèi)容,將運(yùn)算符號顯示到文本框中,隨后輸入第二個(gè)計(jì)算數(shù)據(jù)時(shí),用同樣的辦法保存數(shù)據(jù),最后通過控制“=”運(yùn)算符先將字符串?dāng)?shù)據(jù)轉(zhuǎn)化成雙精度類型,然后計(jì)算出結(jié)果并顯示到文本框當(dāng)中。</p><p> 基本運(yùn)算設(shè)計(jì)完成以后則開始考慮其他個(gè)別功能的實(shí)現(xiàn),例如倒數(shù)、清零、退格等功能的實(shí)現(xiàn),清零直接重置文本框內(nèi)容,退格功能則
16、采用substring函數(shù)截取字符串長度。</p><p> 4.2.2、程序流程圖:</p><p> 4.2.3、主要代碼展示及說明:</p><p><b> 總體代碼的設(shè)計(jì):</b></p><p> 程序采用繼承windowadapter類,新建Jframe窗體,利用數(shù)組來定義JBotton按鈕,同時(shí)利
17、用數(shù)組注冊監(jiān)聽,采用4行5列網(wǎng)格布局,完成計(jì)算器界面的基本設(shè)置,在窗體的正常關(guān)閉方面,采用匿名類實(shí)現(xiàn)窗體的正常關(guān)閉。最后對按鈕進(jìn)行計(jì)算分析,分別設(shè)定輸入數(shù)據(jù)的A類、運(yùn)算符控制的Opertion類,退格功能的BackSpace類、計(jì)算結(jié)果的Result類等等,一步步實(shí)現(xiàn)計(jì)算器的基本功能!</p><p> ?。?)類A的設(shè)計(jì)(數(shù)據(jù)的輸入)</p><p> class A implemen
18、ts ActionListener</p><p><b> {</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> String a = Jtext.getText();&
19、lt;/p><p> String s = e.getActionCommand();</p><p> if(a.equals("0.")||a.equals("+")||a.equals("-")||a.equals("*")||a.equals("/")) </p>&l
20、t;p> Jtext.setText(s);</p><p><b> else</b></p><p><b> {</b></p><p><b> if(flag2)</b></p><p><b> {</b></p>
21、<p> Jtext.setText(s);</p><p> flag2=false;</p><p><b> }</b></p><p><b> else</b></p><p> Jtext.setText(a+s);</p><p><
22、b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 功能解釋:程序開始時(shí),程序初始化文本框的內(nèi)容為“0.”,點(diǎn)擊數(shù)字按鈕,則調(diào)用類A,首先用a來獲取當(dāng)前文本框內(nèi)容,s來獲取按鈕數(shù)值,然后進(jìn)行判斷,若a的值為上述代碼的值則輸出s的值,再次點(diǎn)
23、擊數(shù)字按鈕時(shí),再次調(diào)用A類,此時(shí)a的值為上次輸入的s值,第一個(gè)if語句不滿足,執(zhí)行下個(gè)if語句if(flag2),flag2初始值為false,該語句的功能是在執(zhí)行了“=”號按鈕時(shí),防止新的數(shù)字按鈕的值合并到到已經(jīng)得出的結(jié)果上,例如:12+12=24,此時(shí)再點(diǎn)擊數(shù)字按鈕3時(shí),則文本框內(nèi)容被重置,輸出數(shù)值3,而不是243,如果if(flag2)不滿足,則將字符串a(chǎn)和s合并并輸出,得出第一個(gè)要計(jì)算的數(shù)據(jù)。</p><p&
24、gt; ?。?)類Opertion的設(shè)計(jì):(運(yùn)算符的控制)</p><p> class Opertion implements ActionListener </p><p><b> {</b></p><p> public void actionPerformed(ActionEvent e)</p><p&g
25、t;<b> {</b></p><p> cal=e.getActionCommand();</p><p> if(flag1==true) </p><p> x=Jtext.getText();</p><p> Jtext.setText(cal);</p><p> fla
26、g1=false;</p><p><b> }</b></p><p><b> }</b></p><p> 功能解釋:當(dāng)點(diǎn)擊運(yùn)算符控制按鈕時(shí),首先將運(yùn)算符的數(shù)值賦值給cal(初值為空),緊接著進(jìn)行判斷,flag1初值為ture,該類的作用為在點(diǎn)擊運(yùn)算符按鈕時(shí),將計(jì)算的第一個(gè)數(shù)據(jù)保存在x字符串變量當(dāng)中,然后將文本
27、框內(nèi)容重置為點(diǎn)擊的運(yùn)算符的數(shù)值,類的結(jié)尾將flag1賦值為false,防止再次點(diǎn)擊運(yùn)算符按鈕時(shí)改變了x的值。</p><p> (附:此時(shí)文本框內(nèi)容為運(yùn)算符的值,輸入第二個(gè)計(jì)算數(shù)據(jù)時(shí),點(diǎn)擊數(shù)字按鈕,則再次調(diào)用A類,此時(shí)滿足A類中第一個(gè)if語句,文本框內(nèi)容被重置為數(shù)字按鈕的值,接下來與獲取第一個(gè)計(jì)算數(shù)據(jù)步驟一樣,直到點(diǎn)擊“=”號運(yùn)算符為止?。?lt;/p><p> ?。?)類Result的設(shè)計(jì)
28、:(計(jì)算并輸出結(jié)果)</p><p> class Result implements ActionListener//計(jì)算并顯示結(jié)果</p><p><b> {</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b>
29、 {</b></p><p> double num1;</p><p> num1=Double.parseDouble(x);</p><p> y=Jtext.getText();</p><p> double num2;</p><p> num2=Double.parseDouble
30、(y);</p><p> double result=0;</p><p> if(num2!=0)</p><p><b> {</b></p><p> if(cal.equals("+"))</p><p> result=num1+num2;</p&g
31、t;<p> if(cal.equals("-"))</p><p> result=num1-num2;</p><p> if(cal.equals("*"))</p><p> result=num1*num2;</p><p> String s1=Double.toSt
32、ring(result);</p><p> Jtext.setText(s1);</p><p><b> }</b></p><p> if(cal.equals("/"))</p><p><b> {</b></p><p> if(nu
33、m2==0)</p><p> Jtext.setText("除數(shù)不能為0");</p><p><b> else</b></p><p><b> {</b></p><p> result=num1/num2;</p><p> Strin
34、g s1=Double.toString(result);</p><p> Jtext.setText(s1);</p><p><b> }</b></p><p><b> }</b></p><p> flag1=true;</p><p> flag2=t
35、rue;</p><p><b> }</b></p><p><b> }</b></p><p> 功能解釋:首先定義兩個(gè)Double型num1,num2,將之前保存的第一個(gè)計(jì)算數(shù)據(jù)x強(qiáng)制轉(zhuǎn)換為Double型后賦值給num1,接著用字符串變量y來獲取當(dāng)前文本框的內(nèi)容,即第二個(gè)計(jì)算數(shù)據(jù)的值,同樣再將其強(qiáng)制轉(zhuǎn)換Dou
36、ble型后賦值給num2,然后進(jìn)行運(yùn)算符判斷,對cal的值進(jìn)行比較,然后進(jìn)行相應(yīng)的計(jì)算,將計(jì)算的結(jié)果轉(zhuǎn)換成字符串后將其輸出到文本框中,在類的最后將flag1、flag2賦值為true,作用是將計(jì)算的結(jié)果當(dāng)作第二次計(jì)算的數(shù)據(jù)進(jìn)行再運(yùn)算,即將結(jié)果重新賦值給x作為第一個(gè)計(jì)算數(shù)據(jù)!</p><p> ?。ǜ剑涸诖祟愔羞€考慮了當(dāng)除數(shù)為零的情況。)</p><p> ?。?)類BackSpace的設(shè)計(jì)
37、:(功能類—退格)</p><p> class BackSpace implements ActionListener</p><p><b> {</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b> {<
38、/b></p><p> String s = e.getActionCommand();</p><p> String s1 = Jtext.getText();</p><p> if(s.equals("退格"))</p><p> s1=new String (s1.substring(0,s1.l
39、ength()-1));</p><p> Jtext.setText(s1);</p><p><b> }</b></p><p><b> }</b></p><p> 功能解釋:這是計(jì)算器附加功能的實(shí)現(xiàn),這里只介紹退格功能,像正負(fù)號、求倒數(shù)、清零等功能相似,所以就不再一一介紹。首先
40、獲取退格按鈕的命令值賦給s,然后獲取當(dāng)前文本框的內(nèi)容,即輸入的數(shù)據(jù),將其賦給s1,接著進(jìn)行判斷,利用substring函數(shù)將s1字符串截取為從第一個(gè)字符至倒數(shù)第二個(gè)字符為止的字符串并重新賦值給s1,再將其輸出到文本框,實(shí)現(xiàn)退格的功能。</p><p><b> 4.3、 程序測試</b></p><p> 1.簡單的運(yùn)算:(以加法為例:123+456)</p
41、><p> 分析:計(jì)算的結(jié)果為579.0,為雙精度型,計(jì)算的結(jié)果被設(shè)置在文本框的最右端,該計(jì)算器的一個(gè)特點(diǎn)是可直接在文本框中輸入數(shù)據(jù)以及進(jìn)行更改。</p><p> 2.倒數(shù)的運(yùn)算:(以123為例)</p><p> 分析:輸出的結(jié)果如圖所示,倒數(shù)功能實(shí)現(xiàn),計(jì)算時(shí),不僅是結(jié)果,輸入的數(shù)據(jù)同樣可以先實(shí)現(xiàn)倒數(shù)功能后再進(jìn)行相應(yīng)的計(jì)算,沒有影響!</p>&
42、lt;p> 3.退格的運(yùn)算:(以123為例)</p><p> 分析:輸出的結(jié)果如圖所示,本計(jì)算器退格鍵有一個(gè)特點(diǎn)是,就算是是計(jì)算后得出的結(jié)果也能實(shí)現(xiàn)退格,缺點(diǎn)是不能很好的處理小數(shù)點(diǎn)的問題,因?yàn)樾?shù)點(diǎn)也是字符串的一部分。</p><p> 4.正負(fù)號的運(yùn)算:(以123為例)</p><p> 分析:輸出的結(jié)果如圖所示,正負(fù)號添加能夠很好的實(shí)現(xiàn),但可以進(jìn)
43、行一些改進(jìn),比如在計(jì)算過程當(dāng)中直接點(diǎn)擊負(fù)號運(yùn)算符輸入負(fù)數(shù)進(jìn)行計(jì)算!</p><p><b> 5.總體分析:</b></p><p> 該計(jì)算器基本運(yùn)算沒有問題,清零、正負(fù)號、求倒數(shù)、退格功能都能很好的實(shí)現(xiàn),總體能完成一個(gè)計(jì)算器的基本功能,但仍有許多地方需要改進(jìn),比如小數(shù)點(diǎn)的實(shí)現(xiàn)所存在的一些問題,雖然在基本的運(yùn)算過程當(dāng)中不會造成太大影響,但這依然不能認(rèn)為是一個(gè)很好
44、的計(jì)算器,同時(shí),在另一方面,該計(jì)算器還沒能很好的實(shí)現(xiàn)連續(xù)計(jì)算的功能,必須每次按下等號按鈕計(jì)算出結(jié)果后才能用產(chǎn)生的結(jié)果接著進(jìn)行下一次的計(jì)算,改進(jìn)的方法是在運(yùn)算符上同時(shí)注冊Result類,讓運(yùn)算符同時(shí)擁有計(jì)算結(jié)果的功能。</p><p><b> 五、實(shí)驗(yàn)小結(jié)</b></p><p> 本次課程設(shè)計(jì)到此算是告一段落了,經(jīng)過這次的學(xué)習(xí),我學(xué)到了很多東西,在此基礎(chǔ)上更加鞏
45、固了自己對java的認(rèn)識與了解。</p><p> 在做本項(xiàng)目是時(shí)候,會遇到很多小問題,比如說,在整個(gè)運(yùn)算過程中要如何確保輸入的計(jì)算數(shù)據(jù)哪個(gè)是第一個(gè)計(jì)算數(shù)據(jù)的,哪個(gè)是第二個(gè)計(jì)算數(shù)據(jù)的,同時(shí)也要區(qū)分運(yùn)算符,因?yàn)樵撚?jì)算器程序應(yīng)用的都是利用字符串來完成計(jì)算的,而且不能重復(fù)輸出運(yùn)算符,更不能將運(yùn)算符錯(cuò)誤的存儲在了第一個(gè)計(jì)算數(shù)據(jù)的數(shù)值中,也得考慮到萬一不小心重復(fù)點(diǎn)擊了運(yùn)算符按鈕會不會造成第一個(gè)計(jì)算數(shù)據(jù)的重新賦值等等問題,
46、最后想到利用布爾類型來很好的控制運(yùn)算符的應(yīng)用!</p><p> 此次課程設(shè)計(jì)讓我更了解熟悉了Java中的圖形用戶界面和它的編程方式。在完成課題的過程中也不斷充實(shí)了自己,學(xué)習(xí)到了很多以前沒有學(xué)習(xí)到的知識,收獲很大。最大的收獲就是對大學(xué)學(xué)習(xí)的總結(jié)和培養(yǎng)了解決困難的信心和能力,使我對所學(xué)知識能夠融會貫通,又不斷豐富了新知識。Java計(jì)算器設(shè)計(jì)使得我們對所學(xué)的專業(yè)課有了更為深刻的認(rèn)識,使得知識得到了鞏固和提高。<
47、;/p><p> 在接下來的時(shí)間里,我覺得我要更加努力的往深一層次的方面看齊,了解更多有關(guān)java的知識,對java有更深一步的了解,我會一步一步的走下去!</p><p> 六、附錄 (程序代碼)</p><p> import java.awt.*;</p><p> import javax.swing.*;</p>
48、<p> import java.awt.event.*;</p><p> public class TheCalculator extends WindowAdapter</p><p> //程序框架繼承自WindowAdapter類</p><p><b> {</b></p><p>
49、private JTextField Jtext=new JTextField("0.");</p><p> private JFrame f=new JFrame("計(jì)算器-趙磊");</p><p> private String x="";</p><p> private String y=
50、"";</p><p> private String cal="";</p><p> private boolean flag1=true;</p><p> private boolean flag2=false;</p><p> public void init()//初始化<
51、;/p><p><b> {</b></p><p> String[] buttonValue = new String[]{"1","2","3","+","C","4","5","6","-&q
52、uot;,"退格","7","8","9","*","1/x","0","+/-",".","/","="};</p><p> Container contain = f.getContent
53、Pane();</p><p> JPanel Jpan = new JPanel();</p><p> JButton[] Jb=new JButton[20];</p><p> contain.setLayout(new BorderLayout());//采用4行5列的網(wǎng)格布局</p><p> Jpan.setLayo
54、ut(new GridLayout(4,5));</p><p> Jtext.setHorizontalAlignment(JTextField.RIGHT);</p><p> contain.add(Jtext,"North");</p><p> contain.add(Jpan);</p><p> A
55、num=new A();//數(shù)據(jù)</p><p> Result re=new Result();//結(jié)果</p><p> Opertion op=new Opertion();//運(yùn)算符</p><p> Clear cl=new Clear();//清零</p><p> BackSpace back=new B
56、ackSpace();//退格</p><p> CountDown count_d=new CountDown();//倒數(shù)</p><p> Strains stra=new Strains();//相反數(shù)</p><p> for(int i = 0 ; i <Jb.length ; i++)//利用For循環(huán)添加按鈕</p&
57、gt;<p><b> {</b></p><p> Jb[i] = new JButton (buttonValue[i]);</p><p> Jpan.add(Jb[i]); </p><p> if(i==3 || i==8 || i==13 || i==18)</p><p> Jb[
58、i].addActionListener(op);</p><p> if(i==0 || i==1 || i==2 || i==5 || i==6 || i==7|| i==10 || i==11 || i==12 || i==15 || i==17)</p><p> Jb[i].addActionListener(num);</p><p> if((i
59、==3||i==4||i==8||i==9)||((i>12)&&(i<=19))&&i!=15)</p><p> Jb[i].setForeground(new Color(255, 0, 0));</p><p><b> else</b></p><p> Jb[i].setForegr
60、ound(new Color(0, 0, 255)); //控制按鈕字體顏色</p><p><b> }</b></p><p> Jb[4].addActionListener(cl);</p><p> Jb[9].addActionListener(back);</p><p> Jb[14].addAc
61、tionListener(count_d);</p><p> Jb[16].addActionListener(stra);</p><p> Jb[19].addActionListener(re);</p><p> f.setSize(320,240);</p><p> f.setVisible(true);</p&g
62、t;<p> f.addWindowListener(//采用匿名類實(shí)現(xiàn)窗口的正常關(guān)閉</p><p> new WindowAdapter()</p><p><b> {</b></p><p> public void windowClosing(WindowEvent e)</p><p&
63、gt;<b> {</b></p><p> System.exit(0);</p><p><b> }</b></p><p><b> });</b></p><p><b> }</b></p><p> cla
64、ss A implements ActionListener//輸入數(shù)據(jù)</p><p><b> {</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> String a
65、 = Jtext.getText();</p><p> String s = e.getActionCommand();</p><p> if(a.equals("0.")||a.equals("+")||a.equals("-")||a.equals("*")||a.equals("/&qu
66、ot;)) </p><p> Jtext.setText(s);</p><p><b> else</b></p><p><b> {</b></p><p><b> if(flag2)</b></p><p><b> {&
67、lt;/b></p><p> Jtext.setText(s);</p><p> flag2=false;</p><p><b> }</b></p><p><b> else</b></p><p> Jtext.setText(a+s);</
68、p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> class Opertion implements ActionListener </p><p><b>
69、{</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> cal=e.getActionCommand();</p><p> if(flag1==true) </p>&l
70、t;p> x=Jtext.getText();</p><p> Jtext.setText(cal);</p><p> flag1=false;</p><p><b> }</b></p><p><b> }</b></p><p> class C
71、lear implements ActionListener//清零功能</p><p><b> {</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> Jtext.set
72、Text("0.");</p><p><b> }</b></p><p><b> }</b></p><p> class CountDown implements ActionListener//求倒數(shù)類</p><p><b> {</b>
73、;</p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> String s = e.getActionCommand();</p><p> String s1 = Jtext.getText();</
74、p><p> if(s.equals("1/x"))</p><p> s1 = new String (""+1/Double.parseDouble(s1));</p><p> Jtext.setText(s1);</p><p><b> }</b></p>
75、;<p><b> }</b></p><p> class Strains implements ActionListener //求相反數(shù)類</p><p><b> {</b></p><p> public void actionPerformed(ActionEvent e)</p&
76、gt;<p><b> {</b></p><p> String s = e.getActionCommand();</p><p> String s1 = Jtext.getText();</p><p> if(s.equals("+/-"))</p><p> s1=
77、new String (""+(0-Double.parseDouble(s1)));</p><p> Jtext.setText(s1);</p><p><b> }</b></p><p><b> }</b></p><p> class BackSpace i
78、mplements ActionListener//退格功能</p><p><b> {</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> String s = e.g
79、etActionCommand();</p><p> String s1 = Jtext.getText();</p><p> if(s.equals("退格"))</p><p> s1=new String (s1.substring(0,s1.length()-1));</p><p> Jtext
80、.setText(s1);</p><p><b> }</b></p><p><b> }</b></p><p> class Result implements ActionListener//計(jì)算并顯示結(jié)果</p><p><b> {</b></p
81、><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> double num1;</p><p> num1=Double.parseDouble(x);</p><p> y=Jtext.ge
82、tText();</p><p> double num2;</p><p> num2=Double.parseDouble(y);</p><p> double result=0;</p><p> if(num2!=0)</p><p><b> {</b></p>
83、<p> if(cal.equals("+"))</p><p> result=num1+num2;</p><p> if(cal.equals("-"))</p><p> result=num1-num2;</p><p> if(cal.equals("*&qu
84、ot;))</p><p> result=num1*num2;</p><p> String s1=Double.toString(result);</p><p> Jtext.setText(s1);</p><p><b> }</b></p><p> if(cal.equa
85、ls("/"))</p><p><b> {</b></p><p> if(num2==0)</p><p> Jtext.setText("除數(shù)不能為0");</p><p><b> else</b></p><p>&
86、lt;b> {</b></p><p> result=num1/num2;</p><p> String s1=Double.toString(result);</p><p> Jtext.setText(s1);</p><p><b> }</b></p><p&
87、gt;<b> }</b></p><p> flag1=true;</p><p> flag2=true;</p><p><b> }</b></p><p><b> }</b></p><p> public static void
88、 main(String[] args)//main方法</p><p><b> {</b></p><p> TheCalculator count=new TheCalculator();</p><p> count.init();</p><p><b> }</b></
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java計(jì)算器課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)報(bào)告--計(jì)算器設(shè)計(jì)
- java計(jì)算器課程設(shè)計(jì)報(bào)告---模擬科學(xué)計(jì)算器
- java課程設(shè)計(jì)---java計(jì)算器
- 計(jì)算器java課程設(shè)計(jì)--簡單計(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ì)
- java課程設(shè)計(jì)-計(jì)算器系統(tǒng)
- java課程設(shè)計(jì)---科學(xué)計(jì)算器
- java課程設(shè)計(jì)----簡易計(jì)算器
- java實(shí)現(xiàn)計(jì)算器課程設(shè)計(jì)
- java課程設(shè)計(jì)-計(jì)算器系統(tǒng)
- java課程設(shè)計(jì)報(bào)告----計(jì)算器軟件設(shè)計(jì)
- java計(jì)算器課程設(shè)計(jì)---計(jì)算器模擬程序
- java計(jì)算器課程設(shè)計(jì)-- 計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)
評論
0/150
提交評論