java課程設計 實現(xiàn)計算器功能的應用程序
《java課程設計 實現(xiàn)計算器功能的應用程序》由會員分享,可在線閱讀,更多相關《java課程設計 實現(xiàn)計算器功能的應用程序(29頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、攀枝花學院攀枝花學院學生課程設計(論文)學生課程設計(論文)題 目: 實現(xiàn)計算器功能的應用程序?qū)崿F(xiàn)計算器功能的應用程序 學生姓名: 葛肪瑜葛肪瑜 學 號: 201010801018201010801018 所在院(系): 數(shù)學與計算機學院數(shù)學與計算機學院 專 業(yè): 計算機科學與技術計算機科學與技術 班 級: 20102010 級計本一班級計本一班 指 導 教 師: 范勝波范勝波 職稱: 講師講師 2013 年 6 月 9 日攀枝花學院教務處制攀枝花學院課程設計評定表2課程設計(論文)指導教師成績評定表課程設計(論文)指導教師成績評定表題目名稱題目名稱評分項目評分項目分分值值得得分分評價內(nèi)涵評價
2、內(nèi)涵01學習態(tài)度6 6遵守各項紀律,工作刻苦努力,具有良好的科學工作態(tài)度。02科學實踐、調(diào)研7 7通過實驗、試驗、查閱文獻、深入生產(chǎn)實踐等渠道獲取與課程設計有關的材料。工作表現(xiàn)20%03課題工作量7 7按期圓滿完成規(guī)定的任務,工作量飽滿。04綜合運用知識的能力1010能運用所學知識和技能去發(fā)現(xiàn)與解決實際問題,能正確處理實驗數(shù)據(jù),能對課題進行理論分析,得出有價值的結論。05應用文獻的能力5 5能獨立查閱相關文獻和從事其他調(diào)研;能提出并較好地論述課題的實施方案;有收集、加工各種信息及獲取新知識的能力。06設計(實驗)能力,方案的設計能力5 5能正確設計實驗方案,獨立進行裝置安裝、調(diào)試、操作等實驗工
3、作,數(shù)據(jù)正確、可靠;研究思路清晰、完整。07計算及計算機應用能力5 5具有較強的數(shù)據(jù)運算與處理能力;能運用計算機進行資料搜集、加工、處理和輔助設計等。能力水平35%08對計算或?qū)嶒灲Y果的分析能力(綜合分析能力、技術經(jīng)濟分析能力)1010具有較強的數(shù)據(jù)收集、分析、處理、綜合的能力。09插圖(或圖紙)質(zhì)量、篇幅、設計(論文)規(guī)范化程度5 5符合本專業(yè)相關規(guī)范或規(guī)定要求;規(guī)范化符合本文件第五條要求。10設計說明書(論文)質(zhì)量3030綜述簡練完整,有見解;立論正確,論述充分,結論嚴謹合理;實驗正確,分析處理科學。成果質(zhì)量45%11創(chuàng)新1010對前人工作有改進或突破,或有獨特見解。成績成績指指導導教教師
4、師評評語語指導教師簽名: 年 月 日攀枝花學院課程設計任務書攀枝花學院本科學生課程設計任務書攀枝花學院本科學生課程設計任務書題題 目目實現(xiàn)計算器功能的應用程序1 1、課程設計的目的、課程設計的目的通過本課程設計使學生能夠較全面的掌握面向?qū)ο蟪绦蛟O計的有關概念和開發(fā)方法,以便能較全面地理解、掌握和綜合運用所學的知識,提高自身的編程能力。2 2、課程設計的內(nèi)容和要求(包括原始數(shù)據(jù)、技術要求、工作要求等)、課程設計的內(nèi)容和要求(包括原始數(shù)據(jù)、技術要求、工作要求等)根據(jù)計算器的實際功能,要求:能夠?qū)崿F(xiàn)簡單的加、減、乘、除、乘方、開方、階乘、正弦、余弦運算等相關運算,界面美觀。3 3、主要參考文獻、主要
5、參考文獻1朱福喜.Java 語言程序設計(第二版).科學出版社2陳國君等.Java 程序設計基礎(第二版).清華大學出版社3 Deitel.Java 大學基礎教程(第六版).電子工業(yè)出版社 4 MaryCampione.Java 語言導學(第四版).機械工業(yè)出版社5 Y.Daniel Liang.Java 語言程序設計基礎篇(第六版). 機械工業(yè)出版社6 Kathy Sierra.Head First Java(第二版).東南大學出版社4 4、課程設計工作進度計劃、課程設計工作進度計劃序號時間(天)內(nèi)容安排備注11分析設計準備周一22編程調(diào)試階段周二至周三31編寫課程設計報告周四41考核周五總
6、計5(天)指導教師指導教師(簽字)日期日期年 月 日攀枝花學院課程設計評定表4教研室意見:教研室意見:年 月 日學生學生(簽字): 接受任務時間: 年 月 日注:注:任務書由指導教師填寫。攀枝花學院課程設計摘要5摘 要自從 java 語言誕生以來,java 語言就以不可抵擋的趨勢很快成為國際上廣泛流行的面向?qū)ο缶幊陶Z言,它既具有高級語言的特點,又少了 C 語言中指針特點,因而變得簡單了很多。Java 是一種可以撰寫跨平臺應用軟件的面向?qū)ο蟮某绦蛟O計語言,其具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于個人 PC、數(shù)據(jù)中心、游戲控制臺、科學超級計算機、移動電話和互聯(lián)網(wǎng),同時擁有全球最大
7、的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java 更具備了顯著優(yōu)勢和廣闊前景。本文介紹了用 java 語言編寫一個簡易計算器。實現(xiàn)數(shù)學上的加、減、乘、除、乘方、開方、階乘、正弦、余弦運算等相關運算。利用這個程序可以方便的進行日常性的小規(guī)模運算,小巧簡易,是個實用的工具。關鍵詞關鍵詞: : 程序設計,計算器,java 語言攀枝花學院課程設計Abstract6Abstract Since the inception of the java language, java language Take irresistible trend soon became widespread i
8、nternational popular object-oriented programming language, both with advanced language features, and less of the C language pointer characteristics, and thus becomes a lot simpler . Java is a cross-platform application software can write object-oriented programming language, which has excellent vers
9、atility, efficiency, platform portability, and security, are widely used in personal PC, data center, gaming consoles, scientific super-computers, mobile phones and the Internet, also has the worlds largest developer of professional community. In the global cloud computing and mobile Internet indust
10、ry environment, Java and more have significant advantages and broad prospects. This article describes the use java language a simple calculator. Achieve mathematical addition, subtraction, multiplication, division, involution, evolution, factorial, sine, cosine operations and other related operation
11、s. With this program you can easily carry out daily operations of small-scale, small simple, is a useful tool.Keywords:Keywords: program design, calculator, java language攀枝花學院課程設計目錄7目錄摘要摘要.4ABSTRACT.51 1 前言前言.71.1 課程設計背景.71.2 需求環(huán)境.71.3 課程設計思路.72 2 課程設計概要課程設計概要.83 3 計算器詳細設計計算器詳細設計.93.1 計算器界面.93.1.1 C
12、AL 主類的顯示布局.93.1.2 計算器顯示界面實現(xiàn)代碼.93.2 監(jiān)聽各個按鈕的類.103.2.1 編寫監(jiān)聽類目的.103.2.2 監(jiān)聽類實現(xiàn)代碼.113.3 按鍵響應類.123.3.1 響應類編寫的目的.123.3.2 響應類實現(xiàn)代碼.123.4 運算處理類.133.4.1 處理方式.133.4.2 處理類實現(xiàn)代碼.134 4 運行與調(diào)試運行與調(diào)試.154.1 進入程序主界面.154.2 加減乘除功能實現(xiàn).154.3 正余弦、正切功能實現(xiàn).164.4、階乘功能實現(xiàn) .164.5、乘方、開方功能實現(xiàn) .175 5 課程設計總結課程設計總結.18參考文獻參考文獻.19附錄:源代碼附錄:源代碼
13、.20攀枝花學院課程設計前言81 前言1.1 課程設計背景日常生活中我們經(jīng)常會遇到一些小型數(shù)據(jù)計算的問題,本課程設計就是以此為出發(fā)點,設計了這樣一個簡單的計算器,用以實現(xiàn)基本的數(shù)學運算。在java 語言當中通過定義類,類中的各種方法實現(xiàn)對計算器相關功能的實現(xiàn),并通過與用戶自己手動輸入并選擇運算功能實現(xiàn)計算功能,是一個完全由用戶控制的簡易計算器。在完成課程設計的期間,參閱了相關的書籍并在網(wǎng)絡上查找相關的資料,對實現(xiàn)這個設計提供了很大的幫助。由于設計水平和知識方面的匱乏,本次課程設計還存在缺點和不足,希望大家提出寶貴的意見,互相交流以期提高。1.2 需求環(huán)境本課程設計需要的設備為硬件要求和軟件配置
14、要求具體要求如下:硬件要求:一臺計算機。軟件配置:WINDOWS 系統(tǒng)、JDK 1.7、eclipse1.3 課程設計思路做計算器最主要的就是實用性,要簡單,便于操作。程序界面是一個窗口的形式展現(xiàn)并由用戶自己完全手動控制。并以設計的要求為基礎,在實現(xiàn)課程設計所給的功能以外,要對界面的美觀進行了優(yōu)化,看起來更人性化,由此一個簡潔美觀的計算器就建立起來了。攀枝花學院課程設計課程概要設計92 課程設計概要在設計程序的時候,考慮到計算器的功能,首先編寫一個 CAL 類,在該類中按照其功能分別寫了一個方法實現(xiàn),在程序開始后,可以看到一個控制面板形式的計算器界面展現(xiàn)在用戶面前,用戶自己輸入數(shù)據(jù)和選擇要運算
15、的功能進行計算。具體方法有:加減乘除運算、乘方開方運算、正余弦正切運算、刪除階乘運算等具體的關系結構如表 2-1:表表 2-1 CAL 類加、減、乘、除方法正余弦、正切方法刪除、階乘方法乘方、開方方法流程功能實現(xiàn)的流程圖詳解:用戶按數(shù)字鍵輸入數(shù)據(jù)加、減、乘、除方法正余弦、正切方法刪除、階乘方法乘方、開方方法用戶啟動計算器運算輸出運算結果攀枝花學院課程設計計算器詳細設計103 計算器詳細設計3.1 計算器界面3.1.1 CAL 主類的顯示布局為了方便用戶的使用,創(chuàng)建了一個帶按鈕的控制面板。將所有的運算鍵、數(shù)字鍵等都放在該面板中方便用戶選擇與使用。所有的運算選擇都完全由用戶掌控。3.1.2 計算器
16、顯示界面實現(xiàn)代碼程序如下:public class cal extends Applet / 定義所有需要使用的全局變量String str = 0;/ 暫存顯示屏數(shù)據(jù)String sign = null;/ 暫存符號數(shù)據(jù)double num = 0;/ 暫存內(nèi)部運算數(shù)據(jù)boolean change = false;/ 暫存內(nèi)部四則運算起用GridLayout g0, g1;/ 定義AWT布局部件JTextField number;Button num_p, num_0, num_1, num_2, num_3, num_4, num_5, num_6, num_7,num_8, num_9;
17、Button act_add, act_mul, act_div, act_sub;Button mat_sin, mat_cos, mat_tan;Button do_ans, do_del;Button fac, sqr,inv,blank;Panel p0, p1;public void init()/ 主程序部分/ 定義各個控件的樣式number = new JTextField(20);/ 顯示屏number.setHorizontalAlignment(JTextField.RIGHT);number.setEnabled(false);number.setText(0);num_
18、p = new Button(。);/ 小數(shù)點的按鈕num_p.setForeground(Color.red);num_p.addActionListener(new getbt();num_0 = new Button(0);/ 數(shù)字0的按鈕num_0.setForeground(Color.red);num_0.addActionListener(new getbt();攀枝花學院課程設計計算器詳細設計11num_1 = new Button(1);/ 數(shù)字1的按鈕num_1.setForeground(Color.red);num_1.addActionListener(new get
19、bt();/此處省略了部分代碼num_9 = new Button(9);/ 數(shù)字9的按鈕num_9.setForeground(Color.red);num_9.addActionListener(new getbt();act_add = new Button(+);/ 加法的按鈕act_add.setForeground(Color.red);act_add.addActionListener(new getbt();/此處省略了部分代碼blank = new Button(blank);/ blank的按鈕blank.setForeground(Color.red);blank.add
20、ActionListener(new getbt();/ 布局整個計算器g0 = new GridLayout(1, 1, 10, 10);/ 布局輸入輸出大體位置g1 = new GridLayout(4, 6, 10, 10);p0 = new Panel(); / 顯示屏的布局p0.setLayout(g0);p0.add(number);p0.setBounds(0, 0, 100, 50);/ 按紐的布局p1 = new Panel();p1.setLayout(g1);p1.add(num_1);/ 第一排按紐p1.add(num_2);p1.add(num_3);p1.add(a
21、ct_add);p1.add(act_sub);p1.add(fac);/此處省略了部分代碼p1.setBounds(5, 60, 400, 250);p1.setBackground(Color.cyan);/ 設置按鈕背景顏色setLayout(null);add(p0);add(p1);this.setBackground(Color.cyan);/ 設置背景整體顏色3.2 監(jiān)聽各個按鈕的類攀枝花學院課程設計計算器詳細設計123.2.1 編寫監(jiān)聽類目的編寫監(jiān)聽類的目的主要監(jiān)聽用戶所按下的數(shù)字鍵和運算鍵,為了計算機后續(xù)的取得數(shù)據(jù)并進行運算做預備工作。給后續(xù)計算工作提供保障。3.2.2 監(jiān)聽
22、類實現(xiàn)代碼class getbt implements ActionListener / 監(jiān)聽作出反應的類 public void actionPerformed(ActionEvent e)/ 對每個每個按鈕做出響應if (e.getSource() = num_0)press0();else if (e.getSource() = num_1)press1();else if (e.getSource() = num_2)press2();else if (e.getSource() = num_3)press3();else if (e.getSource() = num_4)press
23、4();else if (e.getSource() = num_5)press5();else if (e.getSource() = num_6)press6();else if (e.getSource() = num_7)press7();else if (e.getSource() = num_8)press8();else if (e.getSource() = num_9)press9();else if (e.getSource() = num_p)pressp();else if (e.getSource() = act_add)pressadd();else if (e.g
24、etSource() = act_mul)pressmul();else if (e.getSource() = act_div)pressdiv();else if (e.getSource() = act_sub)presssub();else if (e.getSource() = mat_sin)presssin();else if (e.getSource() = mat_tan)攀枝花學院課程設計計算器詳細設計13presstan();else if (e.getSource() = mat_cos)presscos();else if (e.getSource() = do_an
25、s)pressans();else if (e.getSource() = do_del)pressdel();else if (e.getSource() = fac)pressfac();else if (e.getSource() = sqr)presssqr();else if (e.getSource() = inv)pressinv();3.3 按鍵響應類3.3.1 響應類編寫的目的通過監(jiān)聽類的監(jiān)聽,采集用戶所按下的按鍵信息進行分析,并將分析結果保存為不同的方法和標記,通過不同的標記在運算過程中調(diào)用處理類中的不同方法實現(xiàn)計算功能。3.3.2 響應類實現(xiàn)代碼public void p
26、ress0()/ 對按 0 作出反應if (str.length() 16 & str != 0 & change = false) str += 0; else if (str = 0 | sign != null) str = 0;number.setText(str);/此處省略部分代碼public void pressp()/ 對按。作出反應boolean p = false;for (int i = 0; i str.length(); i+)if (str.charAt(i) = .)p = true;if (str.length() 16)str = str.substring(
27、0, 16);num = 0;number.setText(str);3.4 運算處理類3.4.1 處理方式通過獲得上訴用戶所按下數(shù)字鍵和運算功能鍵的信息,用響應類的處理結果信息進行判斷標示符的形式對號入座進行調(diào)用不同運算處理并把運算結果顯示在輸入數(shù)據(jù)框中。3.4.2 處理類實現(xiàn)代碼public void pressans()/ 對按=作出反應if (sign = null)number.setText(str);else if (sign = fac) int sum=1;for(int i=1;i=num;i+)攀枝花學院課程設計計算器詳細設計15sum= sum*i;str = Doub
28、le.toString(sum);number.setText(str);else if (sign = sqr) double sum;sum=Math.sqrt(Double.parseDouble(str); str = Double.toString(sum);number.setText(str);else if (sign = inv) double sum=num;for(int i=1;iDouble.parseDouble(str);i+)sum=sum*num;str = Double.toString(sum);number.setText(str);else if (s
29、ign = add) num += Double.parseDouble(str);str = Double.toString(num);number.setText(str); else if (sign = sub) num -= Double.parseDouble(str);str = Double.toString(num);number.setText(str); else if (sign = mul) num *= Double.parseDouble(str);str = Double.toString(num);number.setText(str); else if (s
30、ign = div) if (num != 0) num /= Double.parseDouble(str);str = Double.toString(num);number.setText(str); else str = 0;number.setText(str);sign = null;攀枝花學院課程設計計算器詳細設計16攀枝花學院課程設計運行與調(diào)試174 運行與調(diào)試4.1 進入程序主界面4.2 加減乘除功能實現(xiàn)例如;333333 乘于 555555攀枝花學院課程設計運行與調(diào)試184.3 正余弦、正切功能實現(xiàn)例如:30 的 tan4.4、階乘功能實現(xiàn)例如:9 的階乘攀枝花學院課程設計
31、運行與調(diào)試194.5、乘方、開方功能實現(xiàn)例如;36 開方攀枝花學院課程設計課程設計總結205 課程設計總結在這次課程設計中,獨自編寫計算器的各個功能,并對其進行按鍵的排版、監(jiān)聽、處理、運算等各個步驟的親力親為,基本上完成了任務書上的各項內(nèi)容。雖然在這次的課程設計中有很多的不足,但是我也收獲了很多。由于本身計算器這個課題就比較簡單,涉及的知識不是很多,所以我一個人一組,通過與同學們的交流,解決了不少長久以來困擾我的 java 語言問題,讓我深切體會到了大家共同努力的重要性。在設計這個系統(tǒng)的時候,我查閱了很多相關的書籍,并通過網(wǎng)絡解決了不少問題。通過這次課程式設計,我對 eclipse 的開發(fā)環(huán)境
32、有了更多的認識和了解,讓我對 java 語言的認識又加深了一步,不僅使我學會了如何查閱資料,同時也讓我發(fā)現(xiàn)了網(wǎng)絡這個好老師,總之收獲了很多攀枝花學院課程設計參考文獻21參考文獻1 朱福喜.Java 語言程序設計(第二版).科學出版社2 陳國君等.Java 程序設計基礎(第二版).清華大學出版社3 Deitel.Java 大學基礎教程(第六版).電子工業(yè)出版社 4 MaryCampione.Java 語言導學(第四版).機械工業(yè)出版社5 Y.Daniel Liang.Java 語言程序設計基礎篇(第六版).機械工業(yè)出版社6 Kathy Sierra.Head First Java(第二版).東南
33、大學出版社7(美)??藸?著,陳昊鵬 譯 Java 編程思想(第 4 版).機械工業(yè)出版社8 李興華 Java 從入門到精通 人民郵電出版社 2010-4-1 版9 臧萌 編著 Java 入門 123清華大學出版社 2010-5-1 版10 李鐘尉,周小彤,陳丹丹等編著 Java 從入門到精通 (第 2 版)清華大學出版社11 李輝 打通經(jīng)脈 Java 基礎入門編程詳解中國鐵道出版社 2010-11-01 版12 (美)卡登赫斯第 Java 編程入門經(jīng)典(第 4 版) 人民郵電出版社13 喻桃陽 Java 快速入門與商用項目培訓清華大學出版社 2011-03-01 版14 溫沿書 Java 入
34、門與實戰(zhàn)教程人民郵電出版社 2010-03-01 版15 李鐘尉 Java 范例完全自學手冊 人民郵電出版社 2009-10-116 (美)斯采爾德 著,馬海軍 Java2 實用教程清華大學出版社 2004-1-117 (美)貝茨(Bates,B.) Head First Java(中文版)中國電力出版社 2007-2-1 版18 辛運幃 Java 程序設計(第二版) 清華大學出版社攀枝花學院課程設計運行與調(diào)試22攀枝花學院課程設計附錄23附錄:源代碼package gefangyu;import java.applet.*;import java.awt.*;import javax.swi
35、ng.*;import java.awt.event.*;/import java.math.*;public class cal extends Applet / 定義所有需要使用的全局變量String str = 0;/ 暫存顯示屏數(shù)據(jù)String sign = null;/ 暫存符號數(shù)據(jù)double num = 0;/ 暫存內(nèi)部運算數(shù)據(jù)boolean change = false;/ 暫存內(nèi)部四則運算起用GridLayout g0, g1;/ 定義 AWT 布局部件JTextField number;Button num_p, num_0, num_1, num_2, num_3, nu
36、m_4, num_5, num_6, num_7,num_8, num_9;Button act_add, act_mul, act_div, act_sub;Button mat_sin, mat_cos, mat_tan;Button do_ans, do_del;Button fac, sqr,inv,blank;Panel p0, p1;public void init()/ 主程序部分/ 定義各個控件的樣式number = new JTextField(20);/ 顯示屏number.setHorizontalAlignment(JTextField.RIGHT);number.se
37、tEnabled(false);number.setText(0);num_p = new Button(。);/ 小數(shù)點的按鈕num_p.setForeground(Color.red);num_p.addActionListener(new getbt();num_0 = new Button(0);/ 數(shù)字0 的按鈕num_0.setForeground(Color.red);num_0.addActionListener(new getbt();num_1 = new Button(1);/ 數(shù)字1 的按鈕num_1.setForeground(Color.red);num_1.add
38、ActionListener(new getbt();num_2 = new Button(2);/ 數(shù)字2 的按鈕num_2.setForeground(Color.red);num_2.addActionListener(new getbt();num_3 = new Button(3);/ 數(shù)字3 的按鈕num_3.setForeground(Color.red);num_3.addActionListener(new getbt();num_4 = new Button(4);/ 數(shù)字4 的按鈕num_4.setForeground(Color.red);num_4.addAction
39、Listener(new getbt();num_5 = new Button(5);/ 數(shù)字5 的按鈕num_5.setForeground(Color.red);num_5.addActionListener(new getbt();num_6 = new Button(6);/ 數(shù)字6 的按鈕num_6.setForeground(Color.red);num_6.addActionListener(new getbt();num_7 = new Button(7);/ 數(shù)字7 的按鈕攀枝花學院課程設計附錄24num_7.setForeground(Color.red);num_7.ad
40、dActionListener(new getbt();num_8 = new Button(8);/ 數(shù)字8 的按鈕num_8.setForeground(Color.red);num_8.addActionListener(new getbt();num_9 = new Button(9);/ 數(shù)字9 的按鈕num_9.setForeground(Color.red);num_9.addActionListener(new getbt();act_add = new Button(+);/ 加法的按鈕act_add.setForeground(Color.red);act_add.addA
41、ctionListener(new getbt();act_sub = new Button(-);/ 減法的按鈕act_sub.setForeground(Color.red);act_sub.addActionListener(new getbt();act_mul = new Button(*);/ 乘法的按鈕act_mul.setForeground(Color.red);act_mul.addActionListener(new getbt();act_div = new Button(/);/ 除法的按鈕act_div.setForeground(Color.red);act_di
42、v.addActionListener(new getbt();do_ans = new Button(=);/ 等于的按鈕do_ans.setForeground(Color.red);do_ans.addActionListener(new getbt();do_del = new Button(del);/ 刪除的按鈕do_del.setForeground(Color.red);do_del.addActionListener(new getbt();mat_sin = new Button(sin);/ sin的按鈕mat_sin.setForeground(Color.red);m
43、at_sin.addActionListener(new getbt();mat_cos = new Button(cos);/ cos的按鈕mat_cos.setForeground(Color.red);mat_cos.addActionListener(new getbt();mat_tan = new Button(tan);/ tan的按鈕mat_tan.setForeground(Color.red);mat_tan.addActionListener(new getbt();fac = new Button(fac);/ fac 的按鈕fac.setForeground(Colo
44、r.red);fac.addActionListener(new getbt();sqr = new Button(sqr);/ sqr 的按鈕sqr.setForeground(Color.red);sqr.addActionListener(new getbt();inv= new Button(xy);/ Involution 的按鈕inv.setForeground(Color.red);inv.addActionListener(new getbt();blank = new Button(blank);/ blank 的按鈕blank.setForeground(Color.red
45、);blank.addActionListener(new getbt();/ 布局整個計算器g0 = new GridLayout(1, 1, 10, 10);/ 布局輸入輸出大體位置g1 = new GridLayout(4, 6, 10, 10);p0 = new Panel(); / 顯示屏的布局p0.setLayout(g0);p0.add(number);p0.setBounds(0, 0, 100, 50);/ 按紐的布局p1 = new Panel();p1.setLayout(g1);p1.add(num_1);/ 第一排按紐p1.add(num_2);攀枝花學院課程設計附錄
46、25p1.add(num_3);p1.add(act_add);p1.add(act_sub);p1.add(fac);p1.add(num_4);/ 第二排按紐p1.add(num_5);p1.add(num_6);p1.add(act_mul);p1.add(act_div);p1.add(sqr);p1.add(num_7);/ 第三排按紐p1.add(num_8);p1.add(num_9);p1.add(mat_sin);p1.add(mat_cos);p1.add(inv);p1.add(num_0);/ 第四排按鈕p1.add(num_p);p1.add(do_ans);p1.a
47、dd(do_del);p1.add(mat_tan);p1.add(blank);/ 為了占位排版美觀p1.setBounds(5, 60, 400, 250);p1.setBackground(Color.cyan);/ 設置按鈕背景顏色setLayout(null);add(p0);add(p1);this.setBackground(Color.cyan);/ 設置背景整體顏色class getbt implements ActionListener / 監(jiān)聽作出反應的類public void actionPerformed(ActionEvent e)/ 對每個每個按鈕做出響應if (
48、e.getSource() = num_0)press0();else if (e.getSource() = num_1)press1();else if (e.getSource() = num_2)press2();else if (e.getSource() = num_3)press3();else if (e.getSource() = num_4)press4();else if (e.getSource() = num_5)press5();else if (e.getSource() = num_6)press6();else if (e.getSource() = num_
49、7)press7();else if (e.getSource() = num_8)press8();else if (e.getSource() = num_9)press9();else if (e.getSource() = num_p)pressp();else if (e.getSource() = act_add)pressadd();else if (e.getSource() = act_mul)pressmul();else if (e.getSource() = act_div)pressdiv();else if (e.getSource() = act_sub)pres
50、ssub();else if (e.getSource() = mat_sin)presssin();else if (e.getSource() = mat_tan)presstan();else if (e.getSource() = mat_cos)presscos();else if (e.getSource() = do_ans)pressans();else if (e.getSource() = do_del)pressdel();攀枝花學院課程設計附錄26else if (e.getSource() = fac)pressfac();else if (e.getSource()
51、 = sqr)presssqr();else if (e.getSource() = inv)pressinv();public void press0()/ 對按 0 作出反應if (str.length() 16 & str != 0 & change = false) str += 0; else if (str = 0 | sign != null) str = 0;number.setText(str);public void press1()/ 對按 1 作出反應if (str.length() 16 & str != 0 & change = false) str += 1; e
52、lse if (str = 0 | sign != null) str = 1;change = false;number.setText(str);public void press2()/ 對按 2 作出反應if (str.length() 16 & str != 0 & change = false) str += 2; else if (str = 0 | sign != null) str = 2;change = false;number.setText(str);public void press3()/ 對按 3 作出反應if (str.length() 16 & str !=
53、 0 & change = false) str += 3; else if (str = 0 | sign != null) str = 3;change = false;number.setText(str);public void press4()/ 對按 4 作出反應if (str.length() 16 & str != 0 & change = false) str += 4; else if (str = 0 | sign != null) str = 4;change = false;number.setText(str);public void press5()/ 對按 5
54、作出反應if (str.length() 16 & str != 0 & change = false) str += 5; else if (str = 0 | sign != null) str = 5;change = false;number.setText(str);public void press6()/ 對按 6 作出反應if (str.length() 16 & str != 0 & change = false) str += 6; else if (str = 0 | sign != null) str = 6;change = false;攀枝花學院課程設計附錄27nu
55、mber.setText(str);public void press7()/ 對按 7 作出反應if (str.length() 16 & str != 0 & change = false) str += 7; else if (str = 0 | sign != null) str = 7;change = false;number.setText(str);public void press8()/ 對按 8 作出反應if (str.length() 16 & str != 0 & change = false) str += 8; else if (str = 0 | sign !=
56、 null) str = 8;change = false;number.setText(str);public void press9()/ 對按 9 作出反應if (str.length() 16 & str != 0 & change = false) str += 9; else if (str = 0 | sign != null) str = 9;change = false;number.setText(str);public void pressp()/ 對按。作出反應boolean p = false;for (int i = 0; i str.length(); i+)if
57、 (str.charAt(i) = .)p = true;if (str.length() 16)str = str.substring(0, 16);num = 0;if (str = 0) sign = null;num = 0;number.setText(str);public void presstan()/ 對按 tan 作出反應if (str != 0. & str != -0 & str != -0. & str != 0) sign = null;num = Double.parseDouble(str);num = Math.tan(num);str = Double.to
58、String(num);if (str.length() 16)str = str.substring(0, 16);num = 0;number.setText(str);public void presscos()/ 對按 cos 作出反應if (str != 0. & str != -0 & str != -0.) sign = null;num = Double.parseDouble(str);num = Math.cos(num);str = Double.toString(num);if (str.length() 16)str = str.substring(0, 16);nu
59、m = 0;number.setText(str);public void pressans()/ 對按=作出反應if (sign = null)number.setText(str);else if (sign = fac) int sum=1;for(int i=1;i=num;i+)sum= sum*i;str = Double.toString(sum);number.setText(str);else if (sign = sqr) double sum;sum=Math.sqrt(Double.parseDouble(str); str = Double.toString(sum);number.setText(str);else if (sign = inv) double sum=num;for(int i=1;i 1) str = str.substring(0, str.length() - 1);number.setText(str); else if (str.length() = 1) str = 0;number.setText(str);
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級數(shù)學下冊6整理和復習2圖形與幾何第7課時圖形的位置練習課件新人教版
- 2023年六年級數(shù)學下冊6整理和復習2圖形與幾何第1課時圖形的認識與測量1平面圖形的認識練習課件新人教版
- 2023年六年級數(shù)學下冊6整理和復習1數(shù)與代數(shù)第10課時比和比例2作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊4比例1比例的意義和基本性質(zhì)第3課時解比例練習課件新人教版
- 2023年六年級數(shù)學下冊3圓柱與圓錐1圓柱第7課時圓柱的體積3作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊3圓柱與圓錐1圓柱第1節(jié)圓柱的認識作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊2百分數(shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊1負數(shù)第1課時負數(shù)的初步認識作業(yè)課件新人教版
- 2023年六年級數(shù)學上冊期末復習考前模擬期末模擬訓練二作業(yè)課件蘇教版
- 2023年六年級數(shù)學上冊期末豐收園作業(yè)課件蘇教版
- 2023年六年級數(shù)學上冊易錯清單十二課件新人教版
- 標準工時講義
- 2021年一年級語文上冊第六單元知識要點習題課件新人教版
- 2022春一年級語文下冊課文5識字測評習題課件新人教版
- 2023年六年級數(shù)學下冊6整理和復習4數(shù)學思考第1課時數(shù)學思考1練習課件新人教版