版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 學(xué)生課程設(shè)計(論文)</p><p> 題 目: 實現(xiàn)計算器功能的應(yīng)用程序 </p><p> 學(xué)生姓名: 學(xué) 號: </p><p> 所在院(系): 數(shù)學(xué)與計算機(jī)學(xué)院 </p>
2、<p> 專 業(yè): 計算機(jī)科學(xué)與技術(shù) </p><p> 班 級: 2010級計本一班 </p><p> 指 導(dǎo) 教 師: 職稱: 講師 </p><p> 2013年 6月 9日
3、</p><p><b> 課程設(shè)計任務(wù)書</b></p><p> 注:任務(wù)書由指導(dǎo)教師填寫。</p><p><b> 摘 要</b></p><p> 自從java語言誕生以來,java語言就以不可抵擋的趨勢很快成為國際上廣泛流行的面向?qū)ο缶幊陶Z言,它既具有高級語言的特點,又少了C語
4、言中指針特點,因而變得簡單了很多。Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言,其具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計算機(jī)、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。</p><p> 本文介紹了用java語言編寫一個簡易計算器。實現(xiàn)數(shù)學(xué)上的加、減、乘
5、、除、乘方、開方、階乘、正弦、余弦運算等相關(guān)運算。利用這個程序可以方便的進(jìn)行日常性的小規(guī)模運算,小巧簡易,是個實用的工具。</p><p> 關(guān)鍵詞: 程序設(shè)計,計算器,java語言</p><p><b> Abstract</b></p><p> Since the inception of the java language, j
6、ava language Take irresistible trend soon became widespread international popular object-oriented programming language, both with advanced language features, and less of the C language pointer characteristics, and thus b
7、ecomes a lot simpler . Java is a cross-platform application software can write object-oriented programming language, which has excellent versatility, efficiency, platform portability, and security, are widely used in per
8、sonal PC, data ce</p><p> Keywords: program design, calculator, java language</p><p><b> 目錄</b></p><p> 摘要……………………………………………………………………………………..……………….4</p><p
9、> Abstract…………………………………………………………………………………………..5</p><p><b> 1 前言7</b></p><p> 1.1 課程設(shè)計背景7</p><p> 1.2 需求環(huán)境7</p><p> 1.3 課程設(shè)計思路7</p>&
10、lt;p> 2 課程設(shè)計概要8</p><p> 3 計算器詳細(xì)設(shè)計9</p><p> 3.1 計算器界面9</p><p> 3.1.1 CAL主類的顯示布局9</p><p> 3.1.2 計算器顯示界面實現(xiàn)代碼9</p><p> 3.2 監(jiān)聽各個按鈕的類10</p>
11、;<p> 3.2.1 編寫監(jiān)聽類目的10</p><p> 3.2.2 監(jiān)聽類實現(xiàn)代碼11</p><p> 3.3 按鍵響應(yīng)類12</p><p> 3.3.1響應(yīng)類編寫的目的12</p><p> 3.3.2 響應(yīng)類實現(xiàn)代碼12</p><p> 3.4 運算處理類13<
12、;/p><p> 3.4.1 處理方式13</p><p> 3.4.2 處理類實現(xiàn)代碼13</p><p> 4 運行與調(diào)試15</p><p> 4.1 進(jìn)入程序主界面15</p><p> 4.2 加減乘除功能實現(xiàn)15</p><p> 4.3 正余弦、正切功能實現(xiàn)16
13、</p><p> 4.4、階乘功能實現(xiàn)16</p><p> 4.5、乘方、開方功能實現(xiàn)17</p><p> 5 課程設(shè)計總結(jié)18</p><p><b> 參考文獻(xiàn)19</b></p><p><b> 附錄:源代碼20</b></p>
14、<p><b> 1 前言</b></p><p> 1.1 課程設(shè)計背景</p><p> 日常生活中我們經(jīng)常會遇到一些小型數(shù)據(jù)計算的問題,本課程設(shè)計就是以此為出發(fā)點,設(shè)計了這樣一個簡單的計算器,用以實現(xiàn)基本的數(shù)學(xué)運算。在java語言當(dāng)中通過定義類,類中的各種方法實現(xiàn)對計算器相關(guān)功能的實現(xiàn),并通過與用戶自己手動輸入并選擇運算功能實現(xiàn)計算功能,
15、是一個完全由用戶控制的簡易計算器。</p><p> 在完成課程設(shè)計的期間,參閱了相關(guān)的書籍并在網(wǎng)絡(luò)上查找相關(guān)的資料,對實現(xiàn)這個設(shè)計提供了很大的幫助。由于設(shè)計水平和知識方面的匱乏,本次課程設(shè)計還存在缺點和不足,希望大家提出寶貴的意見,互相交流以期提高。</p><p><b> 1.2 需求環(huán)境</b></p><p> 本課程設(shè)計需要
16、的設(shè)備為硬件要求和軟件配置要求具體要求如下:</p><p> ①硬件要求:一臺計算機(jī)。</p><p> ?、谲浖渲茫篧INDOWS系統(tǒng)、JDK 1.7、eclipse</p><p> 1.3 課程設(shè)計思路</p><p> 做計算器最主要的就是實用性,要簡單,便于操作。程序界面是一個窗口的形式展現(xiàn)并由用戶自己完全手動控制。并以
17、設(shè)計的要求為基礎(chǔ),在實現(xiàn)課程設(shè)計所給的功能以外,要對界面的美觀進(jìn)行了優(yōu)化,看起來更人性化,由此一個簡潔美觀的計算器就建立起來了。</p><p><b> 2 課程設(shè)計概要</b></p><p> 在設(shè)計程序的時候,考慮到計算器的功能,首先編寫一個CAL類,在該類中按照其功能分別寫了一個方法實現(xiàn),在程序開始后,可以看到一個控制面板形式的計算器界面展現(xiàn)在用戶面前
18、,用戶自己輸入數(shù)據(jù)和選擇要運算的功能進(jìn)行計算。具體方法有:加減乘除運算、乘方開方運算、正余弦正切運算、刪除階乘運算等</p><p> 具體的關(guān)系結(jié)構(gòu)如表2-1:</p><p><b> 表2-1 </b></p><p> 流程功能實現(xiàn)的流程圖詳解:</p><p> 3 計算器詳細(xì)設(shè)計</p>
19、<p><b> 3.1 計算器界面</b></p><p> 3.1.1 CAL主類的顯示布局</p><p> 為了方便用戶的使用,創(chuàng)建了一個帶按鈕的控制面板。將所有的運算鍵、數(shù)字鍵等都放在該面板中方便用戶選擇與使用。所有的運算選擇都完全由用戶掌控。</p><p> 3.1.2 計算器顯示界面實現(xiàn)代碼</p&g
20、t;<p><b> 程序如下:</b></p><p> public class cal extends Applet {</p><p> // 定義所有需要使用的全局變量</p><p> String str = "0";// 暫存顯示屏數(shù)據(jù)</p><p> Str
21、ing sign = "null";// 暫存符號數(shù)據(jù)</p><p> double num = 0;// 暫存內(nèi)部運算數(shù)據(jù)</p><p> boolean change = false;// 暫存內(nèi)部四則運算起用</p><p> GridLayout g0, g1;// 定義AWT布局部件</p><p>
22、 JTextField number;</p><p> Button num_p, num_0, num_1, num_2, num_3, num_4, num_5, num_6, num_7,</p><p> num_8, num_9;</p><p> Button act_add, act_mul, act_div, act_sub;</p&g
23、t;<p> Button mat_sin, mat_cos, mat_tan;</p><p> Button do_ans, do_del;</p><p> Button fac, sqr,inv,blank;</p><p> Panel p0, p1;</p><p> public void init()/
24、/ 主程序部分</p><p> {// 定義各個控件的樣式</p><p> number = new JTextField(20);// 顯示屏</p><p> number.setHorizontalAlignment(JTextField.RIGHT);</p><p> number.setEnabled(false);
25、</p><p> number.setText("0");</p><p> num_p = new Button("。");// 小數(shù)點的按鈕</p><p> num_p.setForeground(Color.red);</p><p> num_p.addActionListener(
26、new getbt());</p><p> num_0 = new Button("0");// 數(shù)字0的按鈕</p><p> num_0.setForeground(Color.red);</p><p> num_0.addActionListener(new getbt());</p><p> num_
27、1 = new Button("1");// 數(shù)字1的按鈕</p><p> num_1.setForeground(Color.red);</p><p> num_1.addActionListener(new getbt());</p><p> //此處省略了部分代碼</p><p> num_9 = ne
28、w Button("9");// 數(shù)字9的按鈕</p><p> num_9.setForeground(Color.red);</p><p> num_9.addActionListener(new getbt());</p><p> act_add = new Button("+");// 加法的按鈕</p
29、><p> act_add.setForeground(Color.red);</p><p> act_add.addActionListener(new getbt());</p><p> //此處省略了部分代碼</p><p> blank = new Button("blank");// blank的按鈕&l
30、t;/p><p> blank.setForeground(Color.red);</p><p> blank.addActionListener(new getbt());</p><p> // 布局整個計算器</p><p> g0 = new GridLayout(1, 1, 10, 10);// 布局輸入輸出大體位置</
31、p><p> g1 = new GridLayout(4, 6, 10, 10);</p><p> p0 = new Panel(); // 顯示屏的布局</p><p> p0.setLayout(g0);</p><p> p0.add(number);</p><p> p0.setBounds(0, 0
32、, 100, 50);</p><p><b> // 按紐的布局</b></p><p> p1 = new Panel();</p><p> p1.setLayout(g1);</p><p> p1.add(num_1);// 第一排按紐</p><p> p1.add(num_
33、2);</p><p> p1.add(num_3);</p><p> p1.add(act_add);</p><p> p1.add(act_sub);</p><p> p1.add(fac);</p><p> //此處省略了部分代碼</p><p> p1.setBoun
34、ds(5, 60, 400, 250);</p><p> p1.setBackground(Color.cyan);// 設(shè)置按鈕背景顏色</p><p> setLayout(null);</p><p><b> add(p0);</b></p><p><b> add(p1);</b&g
35、t;</p><p> this.setBackground(Color.cyan);// 設(shè)置背景整體顏色</p><p><b> }</b></p><p> 3.2 監(jiān)聽各個按鈕的類</p><p> 3.2.1 編寫監(jiān)聽類目的</p><p> 編寫監(jiān)聽類的目的主要監(jiān)聽用戶所按
36、下的數(shù)字鍵和運算鍵,為了計算機(jī)后續(xù)的取得數(shù)據(jù)并進(jìn)行運算做預(yù)備工作。給后續(xù)計算工作提供保障。</p><p> 3.2.2 監(jiān)聽類實現(xiàn)代碼</p><p> class getbt implements ActionListener // 監(jiān)聽作出反應(yīng)的類</p><p><b> {</b></p><p> p
37、ublic void actionPerformed(ActionEvent e)// 對每個每個按鈕做出響應(yīng)</p><p><b> {</b></p><p> if (e.getSource() == num_0)</p><p><b> press0();</b></p><p>
38、 else if (e.getSource() == num_1)</p><p><b> press1();</b></p><p> else if (e.getSource() == num_2)</p><p><b> press2();</b></p><p> else i
39、f (e.getSource() == num_3)</p><p><b> press3();</b></p><p> else if (e.getSource() == num_4)</p><p><b> press4();</b></p><p> else if (e.get
40、Source() == num_5)</p><p><b> press5();</b></p><p> else if (e.getSource() == num_6)</p><p><b> press6();</b></p><p> else if (e.getSource()
41、 == num_7)</p><p><b> press7();</b></p><p> else if (e.getSource() == num_8)</p><p><b> press8();</b></p><p> else if (e.getSource() == num_
42、9)</p><p><b> press9();</b></p><p> else if (e.getSource() == num_p)</p><p><b> pressp();</b></p><p> else if (e.getSource() == act_add)<
43、/p><p> pressadd();</p><p> else if (e.getSource() == act_mul)</p><p> pressmul();</p><p> else if (e.getSource() == act_div)</p><p> pressdiv();</p&g
44、t;<p> else if (e.getSource() == act_sub)</p><p> presssub();</p><p> else if (e.getSource() == mat_sin)</p><p> presssin();</p><p> else if (e.getSource()
45、== mat_tan)</p><p> presstan();</p><p> else if (e.getSource() == mat_cos)</p><p> presscos();</p><p> else if (e.getSource() == do_ans)</p><p> press
46、ans();</p><p> else if (e.getSource() == do_del)</p><p> pressdel();</p><p> else if (e.getSource() == fac)</p><p> pressfac();</p><p> else if (e.get
47、Source() == sqr)</p><p> presssqr();</p><p> else if (e.getSource() == inv)</p><p> pressinv();</p><p><b> }</b></p><p><b> }</b&
48、gt;</p><p><b> 3.3 按鍵響應(yīng)類</b></p><p> 3.3.1響應(yīng)類編寫的目的</p><p> 通過監(jiān)聽類的監(jiān)聽,采集用戶所按下的按鍵信息進(jìn)行分析,并將分析結(jié)果保存為不同的方法和標(biāo)記,通過不同的標(biāo)記在運算過程中調(diào)用處理類中的不同方法實現(xiàn)計算功能。</p><p> 3.3.2 響應(yīng)類
49、實現(xiàn)代碼</p><p> public void press0()// 對按0作出反應(yīng)</p><p><b> {</b></p><p> if (str.length() < 16 && str != "0" && change == false) {</p>
50、<p> str += "0";</p><p> } else if (str == "0" || sign != "null") {</p><p> str = "0";</p><p><b> }</b></p><
51、p> number.setText(str);</p><p><b> }</b></p><p> //此處省略部分代碼</p><p> public void pressp()// 對按。作出反應(yīng)</p><p><b> {</b></p><p>
52、 boolean p = false;</p><p> for (int i = 0; i < str.length(); i++)</p><p> if (str.charAt(i) == '.')</p><p><b> p = true;</b></p><p> if (st
53、r.length() < 16 && str != "0" && sign == "null" && p == false) {</p><p> str += ".";</p><p> } else if ((str == "0" || sign !
54、= "null") && p == false) {</p><p> str = "0.";</p><p><b> }</b></p><p> number.setText(str);</p><p><b> }</b><
55、;/p><p> public void pressfac()// 對按fac作出反應(yīng)</p><p><b> {</b></p><p> sign = "fac";</p><p> num = Double.parseDouble(str);</p><p> c
56、hange = true;</p><p><b> }</b></p><p> //此處省略部分代碼</p><p> public void presscos()// 對按cos作出反應(yīng)</p><p><b> {</b></p><p> if (str
57、!= "0." && str != "-0" && str != "-0.") {</p><p> sign = "null";</p><p> num = Double.parseDouble(str);</p><p> num = Math
58、.cos(num);</p><p> str = Double.toString(num);</p><p> if (str.length() > 16)</p><p> str = str.substring(0, 16);</p><p><b> num = 0;</b></p>
59、<p><b> }</b></p><p> number.setText(str);</p><p><b> }</b></p><p><b> 3.4 運算處理類</b></p><p> 3.4.1 處理方式</p><p&g
60、t; 通過獲得上訴用戶所按下數(shù)字鍵和運算功能鍵的信息,用響應(yīng)類的處理結(jié)果信息進(jìn)行判斷標(biāo)示符的形式對號入座進(jìn)行調(diào)用不同運算處理并把運算結(jié)果顯示在輸入數(shù)據(jù)框中。</p><p> 3.4.2 處理類實現(xiàn)代碼</p><p> public void pressans()// 對按=作出反應(yīng)</p><p><b> {</b></p&
61、gt;<p> if (sign == "null")</p><p> number.setText(str);</p><p> else if (sign == "fac") {</p><p> int sum=1;</p><p> for(int i=1;i<=
62、num;i++){</p><p> sum= sum*i;</p><p><b> }</b></p><p> str = Double.toString(sum);</p><p> number.setText(str);</p><p><b> }</b&g
63、t;</p><p> else if (sign == "sqr") {</p><p> double sum;</p><p> sum=Math.sqrt(Double.parseDouble(str)); </p><p> str = Double.toString(sum);</p>&
64、lt;p> number.setText(str);</p><p><b> }</b></p><p> else if (sign == "inv") {</p><p> double sum=num;</p><p> for(int i=1;i<Double.pars
65、eDouble(str);i++){</p><p> sum=sum*num;</p><p><b> }</b></p><p> str = Double.toString(sum);</p><p> number.setText(str);</p><p><b>
66、 }</b></p><p> else if (sign == "add") {</p><p> num += Double.parseDouble(str);</p><p> str = Double.toString(num);</p><p> number.setText(str);<
67、;/p><p> } else if (sign == "sub") {</p><p> num -= Double.parseDouble(str);</p><p> str = Double.toString(num);</p><p> number.setText(str);</p><
68、p> } else if (sign == "mul") {</p><p> num *= Double.parseDouble(str);</p><p> str = Double.toString(num);</p><p> number.setText(str);</p><p> } else
69、 if (sign == "div") {</p><p> if (num != 0) {</p><p> num /= Double.parseDouble(str);</p><p> str = Double.toString(num);</p><p> number.setText(str);<
70、/p><p><b> } else {</b></p><p> str = "0";</p><p> number.setText(str);</p><p><b> }</b></p><p><b> }</b>&l
71、t;/p><p> sign = "null";</p><p><b> }</b></p><p><b> 4 運行與調(diào)試</b></p><p> 4.1 進(jìn)入程序主界面</p><p> 4.2 加減乘除功能實現(xiàn)</p>&l
72、t;p> 例如;333333乘于555555</p><p> 4.3 正余弦、正切功能實現(xiàn)</p><p><b> 例如:30的tan</b></p><p> 4.4、階乘功能實現(xiàn)</p><p><b> 例如:9的階乘</b></p><p> 4
73、.5、乘方、開方功能實現(xiàn)</p><p><b> 例如;36開方</b></p><p><b> 5 課程設(shè)計總結(jié)</b></p><p> 在這次課程設(shè)計中,獨自編寫計算器的各個功能,并對其進(jìn)行按鍵的排版、監(jiān)聽、處理、運算等各個步驟的親力親為,基本上完成了任務(wù)書上的各項內(nèi)容。</p><p
74、> 雖然在這次的課程設(shè)計中有很多的不足,但是我也收獲了很多。由于本身計算器這個課題就比較簡單,涉及的知識不是很多,所以我一個人一組,通過與同學(xué)們的交流,解決了不少長久以來困擾我的java語言問題,讓我深切體會到了大家共同努力的重要性。在設(shè)計這個系統(tǒng)的時候,我查閱了很多相關(guān)的書籍,并通過網(wǎng)絡(luò)解決了不少問題。通過這次課程式設(shè)計,我對eclipse的開發(fā)環(huán)境有了更多的認(rèn)識和了解,讓我對java語言的認(rèn)識又加深了一步,不僅使我學(xué)會了如何
75、查閱資料,同時也讓我發(fā)現(xiàn)了網(wǎng)絡(luò)這個好老師,總之收獲了很多</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 朱福喜.《Java語言程序設(shè)計》(第二版).科學(xué)出版社</p><p> [2] 陳國君等.《Java程序設(shè)計基礎(chǔ)》(第二版).清華大學(xué)出版社</p><p> [3] Deitel.《
76、Java大學(xué)基礎(chǔ)教程》(第六版).電子工業(yè)出版社 </p><p> [4] MaryCampione.《Java語言導(dǎo)學(xué)》(第四版).機(jī)械工業(yè)出版社</p><p> [5] Y.Daniel Liang.《Java語言程序設(shè)計基礎(chǔ)篇》(第六版).機(jī)械工業(yè)出版社</p><p> [6] Kathy Sierra.《Head First Java》(第二版
77、).東南大學(xué)出版社</p><p> [7](美)埃克爾 著,陳昊鵬 譯 《Java編程思想》(第4版).機(jī)械工業(yè)出版社</p><p> [8] 李興華 《Java從入門到精通》 人民郵電出版社 2010-4-1版</p><p> [9] 臧萌 編著 《Java入門1·2·3》清華大學(xué)出版社2010-5-1版</p>&l
78、t;p> [10] 李鐘尉,周小彤,陳丹丹等編著 《Java從入門到精通》(第2版)清華大學(xué)出版社</p><p> [11] 李輝 《打通經(jīng)脈 Java 基礎(chǔ)入門編程詳解》中國鐵道出版社2010-11-01版</p><p> [12] (美)卡登赫斯第 《Java編程入門經(jīng)典》(第4版) 人民郵電出版社</p><p> [13] 喻桃陽 《Jav
79、a快速入門與商用項目培訓(xùn)》清華大學(xué)出版社2011-03-01版</p><p> [14] 溫沿書 《Java入門與實戰(zhàn)教程》人民郵電出版社2010-03-01版</p><p> [15] 李鐘尉 《Java范例完全自學(xué)手冊》 人民郵電出版社 2009-10-1</p><p> [16] (美)斯采爾德 著,馬海軍 《Java2實用教程
80、》清華大學(xué)出版社2004-1-1</p><p> [17] (美)貝茨(Bates,B.)《Head First Java(中文版)》中國電力出版社2007-2-1版</p><p> [18] 辛運幃 《Java程序設(shè)計》(第二版) 清華大學(xué)出版社</p><p><b> 附錄:源代碼</b></p><p>
81、; package gefangyu;</p><p> import java.applet.*;</p><p> import java.awt.*;</p><p> import javax.swing.*;</p><p> import java.awt.event.*;</p><p> /
82、/import java.math.*;</p><p> public class cal extends Applet {</p><p> // 定義所有需要使用的全局變量</p><p> String str = "0";// 暫存顯示屏數(shù)據(jù)</p><p> String sign = "nu
83、ll";// 暫存符號數(shù)據(jù)</p><p> double num = 0;// 暫存內(nèi)部運算數(shù)據(jù)</p><p> boolean change = false;// 暫存內(nèi)部四則運算起用</p><p> GridLayout g0, g1;// 定義AWT布局部件</p><p> JTextField number;
84、</p><p> Button num_p, num_0, num_1, num_2, num_3, num_4, num_5, num_6, num_7,</p><p> num_8, num_9;</p><p> Button act_add, act_mul, act_div, act_sub;</p><p> Butt
85、on mat_sin, mat_cos, mat_tan;</p><p> Button do_ans, do_del;</p><p> Button fac, sqr,inv,blank;</p><p> Panel p0, p1;</p><p> public void init()// 主程序部分</p>
86、<p><b> {</b></p><p> // 定義各個控件的樣式</p><p> number = new JTextField(20);// 顯示屏</p><p> number.setHorizontalAlignment(JTextField.RIGHT);</p><p> num
87、ber.setEnabled(false);</p><p> number.setText("0");</p><p> num_p = new Button("。");// 小數(shù)點的按鈕</p><p> num_p.setForeground(Color.red);</p><p> nu
88、m_p.addActionListener(new </p><p><b> getbt());</b></p><p> num_0 = new Button("0");// 數(shù)字0的按鈕</p><p> num_0.setForeground(Color.red);</p><p>
89、num_0.addActionListener(new getbt());</p><p> num_1 = new Button("1");// 數(shù)字1的按鈕</p><p> num_1.setForeground(Color.red);</p><p> num_1.addActionListener(new getbt());<
90、;/p><p> num_2 = new Button("2");// 數(shù)字2的按鈕</p><p> num_2.setForeground(Color.red);</p><p> num_2.addActionListener(new getbt());</p><p> num_3 = new Button(&
91、quot;3");// 數(shù)字3的按鈕</p><p> num_3.setForeground(Color.red);</p><p> num_3.addActionListener(new getbt());</p><p> num_4 = new Button("4");// 數(shù)字4的按鈕</p><p
92、> num_4.setForeground(Color.red);</p><p> num_4.addActionListener(new getbt());</p><p> num_5 = new Button("5");// 數(shù)字5的按鈕</p><p> num_5.setForeground(Color.red);<
93、;/p><p> num_5.addActionListener(new getbt());</p><p> num_6 = new Button("6");// 數(shù)字6的按鈕</p><p> num_6.setForeground(Color.red);</p><p> num_6.addActionListe
94、ner(new getbt());</p><p> num_7 = new Button("7");// 數(shù)字7的按鈕</p><p> num_7.setForeground(Color.red);</p><p> num_7.addActionListener(new getbt());</p><p>
95、num_8 = new Button("8");// 數(shù)字8的按鈕</p><p> num_8.setForeground(Color.red);</p><p> num_8.addActionListener(new getbt());</p><p> num_9 = new Button("9");// 數(shù)字9
96、的按鈕</p><p> num_9.setForeground(Color.red);</p><p> num_9.addActionListener(new getbt());</p><p> act_add = new Button("+");// 加法的按鈕</p><p> act_add.setFo
97、reground(Color.red);</p><p> act_add.addActionListener(new getbt());</p><p> act_sub = new Button("-");// 減法的按鈕</p><p> act_sub.setForeground(Color.red);</p><
98、;p> act_sub.addActionListener(new getbt());</p><p> act_mul = new Button("*");// 乘法的按鈕</p><p> act_mul.setForeground(Color.red);</p><p> act_mul.addActionListener(n
99、ew getbt());</p><p> act_div = new Button("/");// 除法的按鈕</p><p> act_div.setForeground(Color.red);</p><p> act_div.addActionListener(new getbt());</p><p>
100、do_ans = new Button("=");// 等于的按鈕</p><p> do_ans.setForeground(Color.red);</p><p> do_ans.addActionListener(new getbt());</p><p> do_del = new Button("del");/
101、/ 刪除的按鈕</p><p> do_del.setForeground(Color.red);</p><p> do_del.addActionListener(new getbt());</p><p> mat_sin = new Button("sin");// sin的按鈕</p><p> mat_
102、sin.setForeground(Color.red);</p><p> mat_sin.addActionListener(new getbt());</p><p> mat_cos = new Button("cos");// cos的按鈕</p><p> mat_cos.setForeground(Color.red);<
103、;/p><p> mat_cos.addActionListener(new getbt());</p><p> mat_tan = new Button("tan");// tan的按鈕</p><p> mat_tan.setForeground(Color.red);</p><p> mat_tan.addA
104、ctionListener(new getbt());</p><p> fac = new Button("fac");// fac的按鈕</p><p> fac.setForeground(Color.red);</p><p> fac.addActionListener(new getbt());</p><p
105、> sqr = new Button("sqr");// sqr的按鈕</p><p> sqr.setForeground(Color.red);</p><p> sqr.addActionListener(new getbt());</p><p> inv= new Button("x^y");// In
106、volution的按鈕</p><p> inv.setForeground(Color.red);</p><p> inv.addActionListener(new getbt());</p><p> blank = new Button("blank");// blank的按鈕</p><p> blan
107、k.setForeground(Color.red);</p><p> blank.addActionListener(new getbt());</p><p> // 布局整個計算器</p><p> g0 = new GridLayout(1, 1, 10, 10);// 布局輸入輸出大體位置</p><p> g1 = ne
108、w GridLayout(4, 6, 10, 10);</p><p> p0 = new Panel(); // 顯示屏的布局</p><p> p0.setLayout(g0);</p><p> p0.add(number);</p><p> p0.setBounds(0, 0, 100, 50);</p>&l
109、t;p><b> // 按紐的布局</b></p><p> p1 = new Panel();</p><p> p1.setLayout(g1);</p><p> p1.add(num_1);// 第一排按紐</p><p> p1.add(num_2);</p><p>
110、 p1.add(num_3);</p><p> p1.add(act_add);</p><p> p1.add(act_sub);</p><p> p1.add(fac);</p><p> p1.add(num_4);// 第二排按紐</p><p> p1.add(num_5);</p>
111、<p> p1.add(num_6);</p><p> p1.add(act_mul);</p><p> p1.add(act_div);</p><p> p1.add(sqr);</p><p> p1.add(num_7);// 第三排按紐</p><p> p1.add(num_8
112、);</p><p> p1.add(num_9);</p><p> p1.add(mat_sin);</p><p> p1.add(mat_cos);</p><p> p1.add(inv);</p><p> p1.add(num_0);// 第四排按鈕</p><p>
113、p1.add(num_p);</p><p> p1.add(do_ans);</p><p> p1.add(do_del);</p><p> p1.add(mat_tan);</p><p> p1.add(blank);// 為了占位排版美觀</p><p> p1.setBounds(5, 60,
114、400, 250);</p><p> p1.setBackground(Color.cyan);// 設(shè)置按鈕背景顏色</p><p> setLayout(null);</p><p><b> add(p0);</b></p><p><b> add(p1);</b></p&g
115、t;<p> this.setBackground(Color.cyan);// 設(shè)置背景整體顏色</p><p><b> }</b></p><p> class getbt implements ActionListener // 監(jiān)聽作出反應(yīng)的類</p><p><b> {</b></
116、p><p> public void actionPerformed(ActionEvent e)// 對每個每個按鈕做出響應(yīng)</p><p><b> {</b></p><p> if (e.getSource() == num_0)</p><p><b> press0();</b>&l
117、t;/p><p> else if (e.getSource() == num_1)</p><p><b> press1();</b></p><p> else if (e.getSource() == num_2)</p><p><b> press2();</b></p>
118、<p> else if (e.getSource() == num_3)</p><p><b> press3();</b></p><p> else if (e.getSource() == num_4)</p><p><b> press4();</b></p><p&
119、gt; else if (e.getSource() == num_5)</p><p><b> press5();</b></p><p> else if (e.getSource() == num_6)</p><p><b> press6();</b></p><p> els
120、e if (e.getSource() == num_7)</p><p><b> press7();</b></p><p> else if (e.getSource() == num_8)</p><p><b> press8();</b></p><p> else if (e.
121、getSource() == num_9)</p><p><b> press9();</b></p><p> else if (e.getSource() == num_p)</p><p><b> pressp();</b></p><p> else if (e.getSourc
122、e() == act_add)</p><p> pressadd();</p><p> else if (e.getSource() == act_mul)</p><p> pressmul();</p><p> else if (e.getSource() == act_div)</p><p>
123、pressdiv();</p><p> else if (e.getSource() == act_sub)</p><p> presssub();</p><p> else if (e.getSource() == mat_sin)</p><p> presssin();</p><p> else
124、 if (e.getSource() == mat_tan)</p><p> presstan();</p><p> else if (e.getSource() == mat_cos)</p><p> presscos();</p><p> else if (e.getSource() == do_ans)</p>
125、;<p> pressans();</p><p> else if (e.getSource() == do_del)</p><p> pressdel();</p><p> else if (e.getSource() == fac)</p><p> pressfac();</p><p&
126、gt; else if (e.getSource() == sqr)</p><p> presssqr();</p><p> else if (e.getSource() == inv)</p><p> pressinv();</p><p><b> }</b></p><p>
127、<b> }</b></p><p> public void press0()// 對按0作出反應(yīng)</p><p><b> {</b></p><p> if (str.length() < 16 && str != "0" && change == f
128、alse) {</p><p> str += "0";</p><p> } else if (str == "0" || sign != "null") {</p><p> str = "0";</p><p><b> }</b&g
129、t;</p><p> number.setText(str);</p><p><b> }</b></p><p> public void press1()// 對按1作出反應(yīng)</p><p><b> {</b></p><p> if (str.lengt
130、h() < 16 && str != "0" && change == false) {</p><p> str += "1";</p><p> } else if (str == "0" || sign != "null") {</p><p&
131、gt; str = "1";</p><p> change = false;</p><p><b> }</b></p><p> number.setText(str);</p><p><b> }</b></p><p> publi
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計--實現(xiàn)計算器功能的應(yīng)用程序
- 課程設(shè)計--實現(xiàn)計算器功能的應(yīng)用程序
- java計算器課程設(shè)計---計算器模擬程序
- java實現(xiàn)計算器課程設(shè)計
- java程序課程設(shè)計--計算器編輯
- java計算器課程設(shè)計-- 計算器的設(shè)計與實現(xiàn)
- java課程設(shè)計---java計算器
- 計算器java課程設(shè)計--簡單計算器
- java課程設(shè)計---計算器
- java課程設(shè)計—計算器
- java課程設(shè)計計算器
- java計算器課程設(shè)計
- java課程設(shè)計--計算器
- java課程設(shè)計計算器
- java課程設(shè)計--計算器的設(shè)計與實現(xiàn)
- java_計算器課程設(shè)計
- java課程設(shè)計-計算器系統(tǒng)
- java課程設(shè)計---科學(xué)計算器
- java課程設(shè)計報告—計算器
評論
0/150
提交評論