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

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

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

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

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é) 號(hào): 201010801018201010801018 所在院(系): 數(shù)學(xué)與計(jì)算機(jī)學(xué)院數(shù)學(xué)與計(jì)算機(jī)學(xué)院 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): 20102010 級(jí)計(jì)本一班級(jí)計(jì)本一班 指 導(dǎo) 教 師: 范勝波范勝波 職稱: 講師講師 2013 年 6 月 9 日攀枝花學(xué)院教務(wù)處制攀枝花學(xué)院課程設(shè)計(jì)評(píng)定表2課程設(shè)計(jì)(論文)指導(dǎo)教師成績(jī)?cè)u(píng)定表課程設(shè)計(jì)(論文)指導(dǎo)教師成績(jī)?cè)u(píng)定表題目名稱題目名稱評(píng)分項(xiàng)目評(píng)分項(xiàng)目分分值值得得分分評(píng)價(jià)內(nèi)涵評(píng)價(jià)內(nèi)涵01學(xué)習(xí)態(tài)度6 6遵守各項(xiàng)紀(jì)律,工作刻苦努力,具有良好的科學(xué)工作態(tài)度。02科學(xué)實(shí)踐、調(diào)研7 7通過(guò)實(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)用知識(shí)的能力1010能運(yùn)用所學(xué)知識(shí)和技能去發(fā)現(xiàn)與解決實(shí)際問(wèn)題,能正確處理實(shí)驗(yàn)數(shù)據(jù),能對(duì)課題進(jìn)行理論分析,得出有價(jià)值的結(jié)論。05應(yīng)用文獻(xiàn)的能力5 5能獨(dú)立查閱相關(guān)文獻(xiàn)和從事其他調(diào)研;能提出并較好地論述課題的實(shí)施方案;有收集、加工各種信息及獲取新知識(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對(duì)計(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ì)說(shuō)明書(shū)(論文)質(zhì)量3030綜述簡(jiǎn)練完整,有見(jiàn)解;立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理;實(shí)驗(yàn)正確,分析處理科學(xué)。成果質(zhì)量45%11創(chuàng)新1010對(duì)前人工作有改進(jìn)或突破,或有獨(dú)特見(jiàn)解。成績(jī)成績(jī)指指導(dǎo)導(dǎo)教教師師評(píng)評(píng)語(yǔ)語(yǔ)指導(dǎo)教師簽名: 年 月 日攀枝花學(xué)院課程設(shè)計(jì)任務(wù)書(shū)攀枝花學(xué)院本科學(xué)生課程設(shè)計(jì)任務(wù)書(shū)攀枝花學(xué)院本科學(xué)生課程設(shè)計(jì)任務(wù)書(shū)題題 目目實(shí)現(xiàn)計(jì)算器功能的應(yīng)用程序1 1、課程設(shè)計(jì)的目的、課程設(shè)計(jì)的目的通過(guò)本課程設(shè)計(jì)使學(xué)生能夠較全面的掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的有關(guān)概念和開(kāi)發(fā)方法,以便能較全面地理解、掌握和綜合運(yùn)用所學(xué)的知識(shí),提高自身的編程能力。2 2、課程設(shè)計(jì)的內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)要求、工作要求等)、課程設(shè)計(jì)的內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)要求、工作要求等)根據(jù)計(jì)算器的實(shí)際功能,要求:能夠?qū)崿F(xiàn)簡(jiǎn)單的加、減、乘、除、乘方、開(kāi)方、階乘、正弦、余弦運(yùn)算等相關(guān)運(yùn)算,界面美觀。3 3、主要參考文獻(xiàn)、主要參考文獻(xiàn)1朱福喜.Java 語(yǔ)言程序設(shè)計(jì)(第二版).科學(xué)出版社2陳國(guó)君等.Java 程序設(shè)計(jì)基礎(chǔ)(第二版).清華大學(xué)出版社3 Deitel.Java 大學(xué)基礎(chǔ)教程(第六版).電子工業(yè)出版社 4 MaryCampione.Java 語(yǔ)言導(dǎo)學(xué)(第四版).機(jī)械工業(yè)出版社5 Y.Daniel Liang.Java 語(yǔ)言程序設(shè)計(jì)基礎(chǔ)篇(第六版). 機(jī)械工業(yè)出版社6 Kathy Sierra.Head First Java(第二版).東南大學(xué)出版社4 4、課程設(shè)計(jì)工作進(jìn)度計(jì)劃、課程設(shè)計(jì)工作進(jìn)度計(jì)劃序號(hào)時(shí)間(天)內(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ì)評(píng)定表4教研室意見(jiàn):教研室意見(jiàn):年 月 日學(xué)生學(xué)生(簽字): 接受任務(wù)時(shí)間: 年 月 日注:注:任務(wù)書(shū)由指導(dǎo)教師填寫。攀枝花學(xué)院課程設(shè)計(jì)摘要5摘 要自從 java 語(yǔ)言誕生以來(lái),java 語(yǔ)言就以不可抵擋的趨勢(shì)很快成為國(guó)際上廣泛流行的面向?qū)ο缶幊陶Z(yǔ)言,它既具有高級(jí)語(yǔ)言的特點(diǎn),又少了 C 語(yǔ)言中指針特點(diǎn),因而變得簡(jiǎn)單了很多。Java 是一種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,其具有卓越的通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于個(gè)人 PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開(kāi)發(fā)者專業(yè)社群。在全球云計(jì)算和移動(dòng)互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java 更具備了顯著優(yōu)勢(shì)和廣闊前景。本文介紹了用 java 語(yǔ)言編寫一個(gè)簡(jiǎn)易計(jì)算器。實(shí)現(xiàn)數(shù)學(xué)上的加、減、乘、除、乘方、開(kāi)方、階乘、正弦、余弦運(yùn)算等相關(guān)運(yùn)算。利用這個(gè)程序可以方便的進(jìn)行日常性的小規(guī)模運(yùn)算,小巧簡(jiǎn)易,是個(gè)實(shí)用的工具。關(guān)鍵詞關(guān)鍵詞: : 程序設(shè)計(jì),計(jì)算器,java 語(yǔ)言攀枝花學(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)聽(tīng)各個(gè)按鈕的類.103.2.1 編寫監(jiān)聽(tīng)類目的.103.2.2 監(jiān)聽(tīng)類實(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、乘方、開(kāi)方功能實(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)常會(huì)遇到一些小型數(shù)據(jù)計(jì)算的問(wèn)題,本課程設(shè)計(jì)就是以此為出發(fā)點(diǎn),設(shè)計(jì)了這樣一個(gè)簡(jiǎn)單的計(jì)算器,用以實(shí)現(xiàn)基本的數(shù)學(xué)運(yùn)算。在java 語(yǔ)言當(dāng)中通過(guò)定義類,類中的各種方法實(shí)現(xiàn)對(duì)計(jì)算器相關(guān)功能的實(shí)現(xiàn),并通過(guò)與用戶自己手動(dòng)輸入并選擇運(yùn)算功能實(shí)現(xiàn)計(jì)算功能,是一個(gè)完全由用戶控制的簡(jiǎn)易計(jì)算器。在完成課程設(shè)計(jì)的期間,參閱了相關(guān)的書(shū)籍并在網(wǎng)絡(luò)上查找相關(guān)的資料,對(duì)實(shí)現(xiàn)這個(gè)設(shè)計(jì)提供了很大的幫助。由于設(shè)計(jì)水平和知識(shí)方面的匱乏,本次課程設(shè)計(jì)還存在缺點(diǎn)和不足,希望大家提出寶貴的意見(jiàn),互相交流以期提高。1.2 需求環(huán)境本課程設(shè)計(jì)需要的設(shè)備為硬件要求和軟件配置要求具體要求如下:硬件要求:一臺(tái)計(jì)算機(jī)。軟件配置:WINDOWS 系統(tǒng)、JDK 1.7、eclipse1.3 課程設(shè)計(jì)思路做計(jì)算器最主要的就是實(shí)用性,要簡(jiǎn)單,便于操作。程序界面是一個(gè)窗口的形式展現(xiàn)并由用戶自己完全手動(dòng)控制。并以設(shè)計(jì)的要求為基礎(chǔ),在實(shí)現(xiàn)課程設(shè)計(jì)所給的功能以外,要對(duì)界面的美觀進(jìn)行了優(yōu)化,看起來(lái)更人性化,由此一個(gè)簡(jiǎn)潔美觀的計(jì)算器就建立起來(lái)了。攀枝花學(xué)院課程設(shè)計(jì)課程概要設(shè)計(jì)92 課程設(shè)計(jì)概要在設(shè)計(jì)程序的時(shí)候,考慮到計(jì)算器的功能,首先編寫一個(gè) CAL 類,在該類中按照其功能分別寫了一個(gè)方法實(shí)現(xiàn),在程序開(kāi)始后,可以看到一個(gè)控制面板形式的計(jì)算器界面展現(xiàn)在用戶面前,用戶自己輸入數(shù)據(jù)和選擇要運(yùn)算的功能進(jìn)行計(jì)算。具體方法有:加減乘除運(yùn)算、乘方開(kāi)方運(yùn)算、正余弦正切運(yùn)算、刪除階乘運(yùn)算等具體的關(guān)系結(jié)構(gòu)如表 2-1:表表 2-1 CAL 類加、減、乘、除方法正余弦、正切方法刪除、階乘方法乘方、開(kāi)方方法流程功能實(shí)現(xiàn)的流程圖詳解:用戶按數(shù)字鍵輸入數(shù)據(jù)加、減、乘、除方法正余弦、正切方法刪除、階乘方法乘方、開(kāi)方方法用戶啟動(dòng)計(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)建了一個(gè)帶按鈕的控制面板。將所有的運(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;/ 暫存符號(hào)數(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()/ 主程序部分/ 定義各個(gè)控件的樣式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();/ 布局整個(gè)計(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)聽(tīng)各個(gè)按鈕的類攀枝花學(xué)院課程設(shè)計(jì)計(jì)算器詳細(xì)設(shè)計(jì)123.2.1 編寫監(jiān)聽(tīng)類目的編寫監(jiān)聽(tīng)類的目的主要監(jiān)聽(tīng)用戶所按下的數(shù)字鍵和運(yùn)算鍵,為了計(jì)算機(jī)后續(xù)的取得數(shù)據(jù)并進(jìn)行運(yùn)算做預(yù)備工作。給后續(xù)計(jì)算工作提供保障。3.2.2 監(jiān)聽(tīng)類實(shí)現(xiàn)代碼class getbt implements ActionListener / 監(jiān)聽(tīng)作出反應(yīng)的類 public void actionPerformed(ActionEvent e)/ 對(duì)每個(gè)每個(gè)按鈕做出響應(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)類編寫的目的通過(guò)監(jiān)聽(tīng)類的監(jiān)聽(tīng),采集用戶所按下的按鍵信息進(jìn)行分析,并將分析結(jié)果保存為不同的方法和標(biāo)記,通過(guò)不同的標(biāo)記在運(yùn)算過(guò)程中調(diào)用處理類中的不同方法實(shí)現(xiàn)計(jì)算功能。3.3.2 響應(yīng)類實(shí)現(xiàn)代碼public void press0()/ 對(duì)按 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()/ 對(duì)按。作出反應(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 處理方式通過(guò)獲得上訴用戶所按下數(shù)字鍵和運(yùn)算功能鍵的信息,用響應(yīng)類的處理結(jié)果信息進(jìn)行判斷標(biāo)示符的形式對(duì)號(hào)入座進(jìn)行調(diào)用不同運(yùn)算處理并把運(yùn)算結(jié)果顯示在輸入數(shù)據(jù)框中。3.4.2 處理類實(shí)現(xiàn)代碼public void pressans()/ 對(duì)按=作出反應(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、乘方、開(kāi)方功能實(shí)現(xiàn)例如;36 開(kāi)方攀枝花學(xué)院課程設(shè)計(jì)課程設(shè)計(jì)總結(jié)205 課程設(shè)計(jì)總結(jié)在這次課程設(shè)計(jì)中,獨(dú)自編寫計(jì)算器的各個(gè)功能,并對(duì)其進(jìn)行按鍵的排版、監(jiān)聽(tīng)、處理、運(yùn)算等各個(gè)步驟的親力親為,基本上完成了任務(wù)書(shū)上的各項(xiàng)內(nèi)容。雖然在這次的課程設(shè)計(jì)中有很多的不足,但是我也收獲了很多。由于本身計(jì)算器這個(gè)課題就比較簡(jiǎn)單,涉及的知識(shí)不是很多,所以我一個(gè)人一組,通過(guò)與同學(xué)們的交流,解決了不少長(zhǎng)久以來(lái)困擾我的 java 語(yǔ)言問(wèn)題,讓我深切體會(huì)到了大家共同努力的重要性。在設(shè)計(jì)這個(gè)系統(tǒng)的時(shí)候,我查閱了很多相關(guān)的書(shū)籍,并通過(guò)網(wǎng)絡(luò)解決了不少問(wèn)題。通過(guò)這次課程式設(shè)計(jì),我對(duì) eclipse 的開(kāi)發(fā)環(huán)境有了更多的認(rèn)識(shí)和了解,讓我對(duì) java 語(yǔ)言的認(rèn)識(shí)又加深了一步,不僅使我學(xué)會(huì)了如何查閱資料,同時(shí)也讓我發(fā)現(xiàn)了網(wǎng)絡(luò)這個(gè)好老師,總之收獲了很多攀枝花學(xué)院課程設(shè)計(jì)參考文獻(xiàn)21參考文獻(xiàn)1 朱福喜.Java 語(yǔ)言程序設(shè)計(jì)(第二版).科學(xué)出版社2 陳國(guó)君等.Java 程序設(shè)計(jì)基礎(chǔ)(第二版).清華大學(xué)出版社3 Deitel.Java 大學(xué)基礎(chǔ)教程(第六版).電子工業(yè)出版社 4 MaryCampione.Java 語(yǔ)言導(dǎo)學(xué)(第四版).機(jī)械工業(yè)出版社5 Y.Daniel Liang.Java 語(yǔ)言程序設(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ǔ)入門編程詳解中國(guó)鐵道出版社 2010-11-01 版12 (美)卡登赫斯第 Java 編程入門經(jīng)典(第 4 版) 人民郵電出版社13 喻桃陽(yáng) Java 快速入門與商用項(xiàng)目培訓(xùn)清華大學(xué)出版社 2011-03-01 版14 溫沿書(shū) Java 入門與實(shí)戰(zhàn)教程人民郵電出版社 2010-03-01 版15 李鐘尉 Java 范例完全自學(xué)手冊(cè) 人民郵電出版社 2009-10-116 (美)斯采爾德 著,馬海軍 Java2 實(shí)用教程清華大學(xué)出版社 2004-1-117 (美)貝茨(Bates,B.) Head First Java(中文版)中國(guó)電力出版社 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;/ 暫存符號(hào)數(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()/ 主程序部分/ 定義各個(gè)控件的樣式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();/ 布局整個(gè)計(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)聽(tīng)作出反應(yīng)的類public void actionPerformed(ActionEvent e)/ 對(duì)每個(gè)每個(gè)按鈕做出響應(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()/ 對(duì)按 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()/ 對(duì)按 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()/ 對(duì)按 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()/ 對(duì)按 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()/ 對(duì)按 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()/ 對(duì)按 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()/ 對(duì)按 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()/ 對(duì)按 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()/ 對(duì)按 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()/ 對(duì)按 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()/ 對(duì)按。作出反應(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()/ 對(duì)按 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()/ 對(duì)按 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()/ 對(duì)按=作出反應(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)用程序)為本站會(huì)員(仙***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

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




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

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

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


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