歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

java課程設(shè)計(jì) 實(shí)現(xiàn)計(jì)算器功能的應(yīng)用程序

  • 資源ID:28853186       資源大小:535.50KB        全文頁數(shù):29頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

java課程設(shè)計(jì) 實(shí)現(xiàn)計(jì)算器功能的應(yīng)用程序

攀枝花學(xué)院攀枝花學(xué)院學(xué)生課程設(shè)計(jì)(論文)學(xué)生課程設(shè)計(jì)(論文)題 目: 實(shí)現(xiàn)計(jì)算器功能的應(yīng)用程序?qū)崿F(xiàn)計(jì)算器功能的應(yīng)用程序 學(xué)生姓名: 葛肪瑜葛肪瑜 學(xué) 號: 201010801018201010801018 所在院(系): 數(shù)學(xué)與計(jì)算機(jī)學(xué)院數(shù)學(xué)與計(jì)算機(jī)學(xué)院 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù) 班 級: 20102010 級計(jì)本一班級計(jì)本一班 指 導(dǎo) 教 師: 范勝波范勝波 職稱: 講師講師 2013 年 6 月 9 日攀枝花學(xué)院教務(wù)處制攀枝花學(xué)院課程設(shè)計(jì)評定表2課程設(shè)計(jì)(論文)指導(dǎo)教師成績評定表課程設(shè)計(jì)(論文)指導(dǎo)教師成績評定表題目名稱題目名稱評分項(xiàng)目評分項(xiàng)目分分值值得得分分評價內(nèi)涵評價內(nèi)涵01學(xué)習(xí)態(tài)度6 6遵守各項(xiàng)紀(jì)律,工作刻苦努力,具有良好的科學(xué)工作態(tài)度。02科學(xué)實(shí)踐、調(diào)研7 7通過實(shí)驗(yàn)、試驗(yàn)、查閱文獻(xiàn)、深入生產(chǎn)實(shí)踐等渠道獲取與課程設(shè)計(jì)有關(guān)的材料。工作表現(xiàn)20%03課題工作量7 7按期圓滿完成規(guī)定的任務(wù),工作量飽滿。04綜合運(yùn)用知識的能力1010能運(yùn)用所學(xué)知識和技能去發(fā)現(xiàn)與解決實(shí)際問題,能正確處理實(shí)驗(yàn)數(shù)據(jù),能對課題進(jìn)行理論分析,得出有價值的結(jié)論。05應(yīng)用文獻(xiàn)的能力5 5能獨(dú)立查閱相關(guān)文獻(xiàn)和從事其他調(diào)研;能提出并較好地論述課題的實(shí)施方案;有收集、加工各種信息及獲取新知識的能力。06設(shè)計(jì)(實(shí)驗(yàn))能力,方案的設(shè)計(jì)能力5 5能正確設(shè)計(jì)實(shí)驗(yàn)方案,獨(dú)立進(jìn)行裝置安裝、調(diào)試、操作等實(shí)驗(yàn)工作,數(shù)據(jù)正確、可靠;研究思路清晰、完整。07計(jì)算及計(jì)算機(jī)應(yīng)用能力5 5具有較強(qiáng)的數(shù)據(jù)運(yùn)算與處理能力;能運(yùn)用計(jì)算機(jī)進(jìn)行資料搜集、加工、處理和輔助設(shè)計(jì)等。能力水平35%08對計(jì)算或?qū)嶒?yàn)結(jié)果的分析能力(綜合分析能力、技術(shù)經(jīng)濟(jì)分析能力)1010具有較強(qiáng)的數(shù)據(jù)收集、分析、處理、綜合的能力。09插圖(或圖紙)質(zhì)量、篇幅、設(shè)計(jì)(論文)規(guī)范化程度5 5符合本專業(yè)相關(guān)規(guī)范或規(guī)定要求;規(guī)范化符合本文件第五條要求。10設(shè)計(jì)說明書(論文)質(zhì)量3030綜述簡練完整,有見解;立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理;實(shí)驗(yàn)正確,分析處理科學(xué)。成果質(zhì)量45%11創(chuàng)新1010對前人工作有改進(jìn)或突破,或有獨(dú)特見解。成績成績指指導(dǎo)導(dǎo)教教師師評評語語指導(dǎo)教師簽名: 年 月 日攀枝花學(xué)院課程設(shè)計(jì)任務(wù)書攀枝花學(xué)院本科學(xué)生課程設(shè)計(jì)任務(wù)書攀枝花學(xué)院本科學(xué)生課程設(shè)計(jì)任務(wù)書題題 目目實(shí)現(xiàn)計(jì)算器功能的應(yīng)用程序1 1、課程設(shè)計(jì)的目的、課程設(shè)計(jì)的目的通過本課程設(shè)計(jì)使學(xué)生能夠較全面的掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的有關(guān)概念和開發(fā)方法,以便能較全面地理解、掌握和綜合運(yùn)用所學(xué)的知識,提高自身的編程能力。2 2、課程設(shè)計(jì)的內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)要求、工作要求等)、課程設(shè)計(jì)的內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)要求、工作要求等)根據(jù)計(jì)算器的實(shí)際功能,要求:能夠?qū)崿F(xiàn)簡單的加、減、乘、除、乘方、開方、階乘、正弦、余弦運(yùn)算等相關(guān)運(yùn)算,界面美觀。3 3、主要參考文獻(xiàn)、主要參考文獻(xiàn)1朱福喜.Java 語言程序設(shè)計(jì)(第二版).科學(xué)出版社2陳國君等.Java 程序設(shè)計(jì)基礎(chǔ)(第二版).清華大學(xué)出版社3 Deitel.Java 大學(xué)基礎(chǔ)教程(第六版).電子工業(yè)出版社 4 MaryCampione.Java 語言導(dǎo)學(xué)(第四版).機(jī)械工業(yè)出版社5 Y.Daniel Liang.Java 語言程序設(shè)計(jì)基礎(chǔ)篇(第六版). 機(jī)械工業(yè)出版社6 Kathy Sierra.Head First Java(第二版).東南大學(xué)出版社4 4、課程設(shè)計(jì)工作進(jìn)度計(jì)劃、課程設(shè)計(jì)工作進(jìn)度計(jì)劃序號時間(天)內(nèi)容安排備注11分析設(shè)計(jì)準(zhǔn)備周一22編程調(diào)試階段周二至周三31編寫課程設(shè)計(jì)報(bào)告周四41考核周五總計(jì)5(天)指導(dǎo)教師指導(dǎo)教師(簽字)日期日期年 月 日攀枝花學(xué)院課程設(shè)計(jì)評定表4教研室意見:教研室意見:年 月 日學(xué)生學(xué)生(簽字): 接受任務(wù)時間: 年 月 日注:注:任務(wù)書由指導(dǎo)教師填寫。攀枝花學(xué)院課程設(shè)計(jì)摘要5摘 要自從 java 語言誕生以來,java 語言就以不可抵擋的趨勢很快成為國際上廣泛流行的面向?qū)ο缶幊陶Z言,它既具有高級語言的特點(diǎn),又少了 C 語言中指針特點(diǎn),因而變得簡單了很多。Java 是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,其具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于個人 PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計(jì)算機(jī)、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計(jì)算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java 更具備了顯著優(yōu)勢和廣闊前景。本文介紹了用 java 語言編寫一個簡易計(jì)算器。實(shí)現(xiàn)數(shù)學(xué)上的加、減、乘、除、乘方、開方、階乘、正弦、余弦運(yùn)算等相關(guān)運(yùn)算。利用這個程序可以方便的進(jìn)行日常性的小規(guī)模運(yùn)算,小巧簡易,是個實(shí)用的工具。關(guān)鍵詞關(guān)鍵詞: : 程序設(shè)計(jì),計(jì)算器,java 語言攀枝花學(xué)院課程設(shè)計(jì)Abstract6Abstract Since the inception of the java language, java 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 becomes 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 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 industry 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 operations. 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攀枝花學(xué)院課程設(shè)計(jì)目錄7目錄摘要摘要.4ABSTRACT.51 1 前言前言.71.1 課程設(shè)計(jì)背景.71.2 需求環(huán)境.71.3 課程設(shè)計(jì)思路.72 2 課程設(shè)計(jì)概要課程設(shè)計(jì)概要.83 3 計(jì)算器詳細(xì)設(shè)計(jì)計(jì)算器詳細(xì)設(shè)計(jì).93.1 計(jì)算器界面.93.1.1 CAL 主類的顯示布局.93.1.2 計(jì)算器顯示界面實(shí)現(xiàn)代碼.93.2 監(jiān)聽各個按鈕的類.103.2.1 編寫監(jiān)聽類目的.103.2.2 監(jiān)聽類實(shí)現(xiàn)代碼.113.3 按鍵響應(yīng)類.123.3.1 響應(yīng)類編寫的目的.123.3.2 響應(yīng)類實(shí)現(xiàn)代碼.123.4 運(yùn)算處理類.133.4.1 處理方式.133.4.2 處理類實(shí)現(xiàn)代碼.134 4 運(yùn)行與調(diào)試運(yùn)行與調(diào)試.154.1 進(jìn)入程序主界面.154.2 加減乘除功能實(shí)現(xiàn).154.3 正余弦、正切功能實(shí)現(xiàn).164.4、階乘功能實(shí)現(xiàn) .164.5、乘方、開方功能實(shí)現(xiàn) .175 5 課程設(shè)計(jì)總結(jié)課程設(shè)計(jì)總結(jié).18參考文獻(xiàn)參考文獻(xiàn).19附錄:源代碼附錄:源代碼.20攀枝花學(xué)院課程設(shè)計(jì)前言81 前言1.1 課程設(shè)計(jì)背景日常生活中我們經(jīng)常會遇到一些小型數(shù)據(jù)計(jì)算的問題,本課程設(shè)計(jì)就是以此為出發(fā)點(diǎn),設(shè)計(jì)了這樣一個簡單的計(jì)算器,用以實(shí)現(xiàn)基本的數(shù)學(xué)運(yùn)算。在java 語言當(dāng)中通過定義類,類中的各種方法實(shí)現(xiàn)對計(jì)算器相關(guān)功能的實(shí)現(xiàn),并通過與用戶自己手動輸入并選擇運(yùn)算功能實(shí)現(xiàn)計(jì)算功能,是一個完全由用戶控制的簡易計(jì)算器。在完成課程設(shè)計(jì)的期間,參閱了相關(guān)的書籍并在網(wǎng)絡(luò)上查找相關(guān)的資料,對實(shí)現(xiàn)這個設(shè)計(jì)提供了很大的幫助。由于設(shè)計(jì)水平和知識方面的匱乏,本次課程設(shè)計(jì)還存在缺點(diǎn)和不足,希望大家提出寶貴的意見,互相交流以期提高。1.2 需求環(huán)境本課程設(shè)計(jì)需要的設(shè)備為硬件要求和軟件配置要求具體要求如下:硬件要求:一臺計(jì)算機(jī)。軟件配置:WINDOWS 系統(tǒng)、JDK 1.7、eclipse1.3 課程設(shè)計(jì)思路做計(jì)算器最主要的就是實(shí)用性,要簡單,便于操作。程序界面是一個窗口的形式展現(xiàn)并由用戶自己完全手動控制。并以設(shè)計(jì)的要求為基礎(chǔ),在實(shí)現(xiàn)課程設(shè)計(jì)所給的功能以外,要對界面的美觀進(jìn)行了優(yōu)化,看起來更人性化,由此一個簡潔美觀的計(jì)算器就建立起來了。攀枝花學(xué)院課程設(shè)計(jì)課程概要設(shè)計(jì)92 課程設(shè)計(jì)概要在設(shè)計(jì)程序的時候,考慮到計(jì)算器的功能,首先編寫一個 CAL 類,在該類中按照其功能分別寫了一個方法實(shí)現(xiàn),在程序開始后,可以看到一個控制面板形式的計(jì)算器界面展現(xiàn)在用戶面前,用戶自己輸入數(shù)據(jù)和選擇要運(yùn)算的功能進(jìn)行計(jì)算。具體方法有:加減乘除運(yùn)算、乘方開方運(yùn)算、正余弦正切運(yùn)算、刪除階乘運(yùn)算等具體的關(guān)系結(jié)構(gòu)如表 2-1:表表 2-1 CAL 類加、減、乘、除方法正余弦、正切方法刪除、階乘方法乘方、開方方法流程功能實(shí)現(xiàn)的流程圖詳解:用戶按數(shù)字鍵輸入數(shù)據(jù)加、減、乘、除方法正余弦、正切方法刪除、階乘方法乘方、開方方法用戶啟動計(jì)算器運(yùn)算輸出運(yùn)算結(jié)果攀枝花學(xué)院課程設(shè)計(jì)計(jì)算器詳細(xì)設(shè)計(jì)103 計(jì)算器詳細(xì)設(shè)計(jì)3.1 計(jì)算器界面3.1.1 CAL 主類的顯示布局為了方便用戶的使用,創(chuàng)建了一個帶按鈕的控制面板。將所有的運(yùn)算鍵、數(shù)字鍵等都放在該面板中方便用戶選擇與使用。所有的運(yùn)算選擇都完全由用戶掌控。3.1.2 計(jì)算器顯示界面實(shí)現(xiàn)代碼程序如下:public class cal extends Applet / 定義所有需要使用的全局變量String str = 0;/ 暫存顯示屏數(shù)據(jù)String sign = null;/ 暫存符號數(shù)據(jù)double num = 0;/ 暫存內(nèi)部運(yùn)算數(shù)據(jù)boolean change = false;/ 暫存內(nèi)部四則運(yùn)算起用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;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_p = new Button(。);/ 小數(shù)點(diǎn)的按鈕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();攀枝花學(xué)院課程設(shè)計(jì)計(jì)算器詳細(xì)設(shè)計(jì)11num_1 = new Button(1);/ 數(shù)字1的按鈕num_1.setForeground(Color.red);num_1.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.addActionListener(new getbt();/此處省略了部分代碼blank = new Button(blank);/ blank的按鈕blank.setForeground(Color.red);blank.addActionListener(new getbt();/ 布局整個計(jì)算器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(act_add);p1.add(act_sub);p1.add(fac);/此處省略了部分代碼p1.setBounds(5, 60, 400, 250);p1.setBackground(Color.cyan);/ 設(shè)置按鈕背景顏色setLayout(null);add(p0);add(p1);this.setBackground(Color.cyan);/ 設(shè)置背景整體顏色3.2 監(jiān)聽各個按鈕的類攀枝花學(xué)院課程設(shè)計(jì)計(jì)算器詳細(xì)設(shè)計(jì)123.2.1 編寫監(jiān)聽類目的編寫監(jiān)聽類的目的主要監(jiān)聽用戶所按下的數(shù)字鍵和運(yùn)算鍵,為了計(jì)算機(jī)后續(xù)的取得數(shù)據(jù)并進(jìn)行運(yùn)算做預(yù)備工作。給后續(xù)計(jì)算工作提供保障。3.2.2 監(jiān)聽類實(shí)現(xiàn)代碼class getbt implements ActionListener / 監(jiān)聽作出反應(yīng)的類 public void actionPerformed(ActionEvent e)/ 對每個每個按鈕做出響應(yīng)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)press4();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.getSource() = 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)攀枝花學(xué)院課程設(shè)計(jì)計(jì)算器詳細(xì)設(shè)計(jì)13presstan();else if (e.getSource() = mat_cos)presscos();else if (e.getSource() = do_ans)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 按鍵響應(yīng)類3.3.1 響應(yīng)類編寫的目的通過監(jiān)聽類的監(jiān)聽,采集用戶所按下的按鍵信息進(jìn)行分析,并將分析結(jié)果保存為不同的方法和標(biāo)記,通過不同的標(biāo)記在運(yùn)算過程中調(diào)用處理類中的不同方法實(shí)現(xiàn)計(jì)算功能。3.3.2 響應(yīng)類實(shí)現(xiàn)代碼public void press0()/ 對按 0 作出反應(yīng)if (str.length() 16 & str != 0 & change = false) str += 0; else if (str = 0 | sign != null) str = 0;number.setText(str);/此處省略部分代碼public void pressp()/ 對按。作出反應(yīng)boolean p = false;for (int i = 0; i str.length(); i+)if (str.charAt(i) = .)p = true;if (str.length() 16)str = str.substring(0, 16);num = 0;number.setText(str);3.4 運(yùn)算處理類3.4.1 處理方式通過獲得上訴用戶所按下數(shù)字鍵和運(yùn)算功能鍵的信息,用響應(yīng)類的處理結(jié)果信息進(jìn)行判斷標(biāo)示符的形式對號入座進(jìn)行調(diào)用不同運(yùn)算處理并把運(yùn)算結(jié)果顯示在輸入數(shù)據(jù)框中。3.4.2 處理類實(shí)現(xiàn)代碼public void pressans()/ 對按=作出反應(yīng)if (sign = null)number.setText(str);else if (sign = fac) int sum=1;for(int i=1;i=num;i+)攀枝花學(xué)院課程設(shè)計(jì)計(jì)算器詳細(xì)設(shè)計(jì)15sum= 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;iDouble.parseDouble(str);i+)sum=sum*num;str = Double.toString(sum);number.setText(str);else if (sign = 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 (sign = div) if (num != 0) num /= Double.parseDouble(str);str = Double.toString(num);number.setText(str); else str = 0;number.setText(str);sign = null;攀枝花學(xué)院課程設(shè)計(jì)計(jì)算器詳細(xì)設(shè)計(jì)16攀枝花學(xué)院課程設(shè)計(jì)運(yùn)行與調(diào)試174 運(yùn)行與調(diào)試4.1 進(jìn)入程序主界面4.2 加減乘除功能實(shí)現(xiàn)例如;333333 乘于 555555攀枝花學(xué)院課程設(shè)計(jì)運(yùn)行與調(diào)試184.3 正余弦、正切功能實(shí)現(xiàn)例如:30 的 tan4.4、階乘功能實(shí)現(xiàn)例如:9 的階乘攀枝花學(xué)院課程設(shè)計(jì)運(yùn)行與調(diào)試194.5、乘方、開方功能實(shí)現(xiàn)例如;36 開方攀枝花學(xué)院課程設(shè)計(jì)課程設(shè)計(jì)總結(jié)205 課程設(shè)計(jì)總結(jié)在這次課程設(shè)計(jì)中,獨(dú)自編寫計(jì)算器的各個功能,并對其進(jìn)行按鍵的排版、監(jiān)聽、處理、運(yùn)算等各個步驟的親力親為,基本上完成了任務(wù)書上的各項(xiàng)內(nèi)容。雖然在這次的課程設(shè)計(jì)中有很多的不足,但是我也收獲了很多。由于本身計(jì)算器這個課題就比較簡單,涉及的知識不是很多,所以我一個人一組,通過與同學(xué)們的交流,解決了不少長久以來困擾我的 java 語言問題,讓我深切體會到了大家共同努力的重要性。在設(shè)計(jì)這個系統(tǒng)的時候,我查閱了很多相關(guān)的書籍,并通過網(wǎng)絡(luò)解決了不少問題。通過這次課程式設(shè)計(jì),我對 eclipse 的開發(fā)環(huán)境有了更多的認(rèn)識和了解,讓我對 java 語言的認(rèn)識又加深了一步,不僅使我學(xué)會了如何查閱資料,同時也讓我發(fā)現(xiàn)了網(wǎng)絡(luò)這個好老師,總之收獲了很多攀枝花學(xué)院課程設(shè)計(jì)參考文獻(xiàn)21參考文獻(xiàn)1 朱福喜.Java 語言程序設(shè)計(jì)(第二版).科學(xué)出版社2 陳國君等.Java 程序設(shè)計(jì)基礎(chǔ)(第二版).清華大學(xué)出版社3 Deitel.Java 大學(xué)基礎(chǔ)教程(第六版).電子工業(yè)出版社 4 MaryCampione.Java 語言導(dǎo)學(xué)(第四版).機(jī)械工業(yè)出版社5 Y.Daniel Liang.Java 語言程序設(shè)計(jì)基礎(chǔ)篇(第六版).機(jī)械工業(yè)出版社6 Kathy Sierra.Head First Java(第二版).東南大學(xué)出版社7(美)??藸?著,陳昊鵬 譯 Java 編程思想(第 4 版).機(jī)械工業(yè)出版社8 李興華 Java 從入門到精通 人民郵電出版社 2010-4-1 版9 臧萌 編著 Java 入門 123清華大學(xué)出版社 2010-5-1 版10 李鐘尉,周小彤,陳丹丹等編著 Java 從入門到精通 (第 2 版)清華大學(xué)出版社11 李輝 打通經(jīng)脈 Java 基礎(chǔ)入門編程詳解中國鐵道出版社 2010-11-01 版12 (美)卡登赫斯第 Java 編程入門經(jīng)典(第 4 版) 人民郵電出版社13 喻桃陽 Java 快速入門與商用項(xiàng)目培訓(xùn)清華大學(xué)出版社 2011-03-01 版14 溫沿書 Java 入門與實(shí)戰(zhàn)教程人民郵電出版社 2010-03-01 版15 李鐘尉 Java 范例完全自學(xué)手冊 人民郵電出版社 2009-10-116 (美)斯采爾德 著,馬海軍 Java2 實(shí)用教程清華大學(xué)出版社 2004-1-117 (美)貝茨(Bates,B.) Head First Java(中文版)中國電力出版社 2007-2-1 版18 辛運(yùn)幃 Java 程序設(shè)計(jì)(第二版) 清華大學(xué)出版社攀枝花學(xué)院課程設(shè)計(jì)運(yùn)行與調(diào)試22攀枝花學(xué)院課程設(shè)計(jì)附錄23附錄:源代碼package gefangyu;import java.applet.*;import java.awt.*;import javax.swing.*;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)部運(yùn)算數(shù)據(jù)boolean change = false;/ 暫存內(nèi)部四則運(yùn)算起用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;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_p = new Button(。);/ 小數(shù)點(diǎn)的按鈕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.addActionListener(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.addActionListener(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 的按鈕攀枝花學(xué)院課程設(shè)計(jì)附錄24num_7.setForeground(Color.red);num_7.addActionListener(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.addActionListener(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_div.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);mat_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(Color.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);blank.addActionListener(new getbt();/ 布局整個計(jì)算器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);攀枝花學(xué)院課程設(shè)計(jì)附錄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.add(do_del);p1.add(mat_tan);p1.add(blank);/ 為了占位排版美觀p1.setBounds(5, 60, 400, 250);p1.setBackground(Color.cyan);/ 設(shè)置按鈕背景顏色setLayout(null);add(p0);add(p1);this.setBackground(Color.cyan);/ 設(shè)置背景整體顏色class getbt implements ActionListener / 監(jiān)聽作出反應(yīng)的類public void actionPerformed(ActionEvent e)/ 對每個每個按鈕做出響應(yīng)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)press4();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.getSource() = 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)presstan();else if (e.getSource() = mat_cos)presscos();else if (e.getSource() = do_ans)pressans();else if (e.getSource() = do_del)pressdel();攀枝花學(xué)院課程設(shè)計(jì)附錄26else if (e.getSource() = fac)pressfac();else if (e.getSource() = sqr)presssqr();else if (e.getSource() = inv)pressinv();public void press0()/ 對按 0 作出反應(yīng)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 作出反應(yīng)if (str.length() 16 & str != 0 & change = false) str += 1; else if (str = 0 | sign != null) str = 1;change = false;number.setText(str);public void press2()/ 對按 2 作出反應(yīng)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 作出反應(yīng)if (str.length() 16 & str != 0 & change = false) str += 3; else if (str = 0 | sign != null) str = 3;change = false;number.setText(str);public void press4()/ 對按 4 作出反應(yīng)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 作出反應(yīng)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 作出反應(yīng)if (str.length() 16 & str != 0 & change = false) str += 6; else if (str = 0 | sign != null) str = 6;change = false;攀枝花學(xué)院課程設(shè)計(jì)附錄27number.setText(str);public void press7()/ 對按 7 作出反應(yīng)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 作出反應(yīng)if (str.length() 16 & str != 0 & change = false) str += 8; else if (str = 0 | sign != null) str = 8;change = false;number.setText(str);public void press9()/ 對按 9 作出反應(yīng)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()/ 對按。作出反應(yīng)boolean p = false;for (int i = 0; i str.length(); i+)if (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 作出反應(yīng)if (str != 0. & str != -0 & str != -0. & str != 0) sign = null;num = Double.parseDouble(str);num = Math.tan(num);str = Double.toString(num);if (str.length() 16)str = str.substring(0, 16);num = 0;number.setText(str);public void presscos()/ 對按 cos 作出反應(yīng)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);num = 0;number.setText(str);public void pressans()/ 對按=作出反應(yīng)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);

注意事項(xiàng)

本文(java課程設(shè)計(jì) 實(shí)現(xiàn)計(jì)算器功能的應(yīng)用程序)為本站會員(仙***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!