版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 用JAVA編一個(gè)計(jì)算器</p><p> 姓 名: </p><p> 學(xué) 號(hào): </p><p> 班 級(jí): 軟件技術(shù)1002 </p><p> 指 導(dǎo)
2、 教 師: </p><p> 所 在 系 部: 信息工程系 </p><p><b> 二○一三年六月</b></p><p> 畢業(yè)論文(設(shè)計(jì))開(kāi)題報(bào)告</p><p><b> 摘要</b></p>
3、<p> 本計(jì)算器是由java語(yǔ)言所編程設(shè)計(jì)的標(biāo)準(zhǔn)計(jì)算器,可以進(jìn)行十進(jìn)制下的四則運(yùn)算(加、減、乘、除)、開(kāi)根號(hào)、百分號(hào)、求倒數(shù),還可以實(shí)現(xiàn)數(shù)值的符號(hào)轉(zhuǎn)換,操作科學(xué)型計(jì)算器與標(biāo)準(zhǔn)計(jì)算器之間的菜單切換。 ,Backspace表示退格, CE表示將當(dāng)前文本框內(nèi)數(shù)據(jù)清除,C表示文本框內(nèi)數(shù)據(jù)清除。此外還提供了“編輯”、“查看”、“幫助”三個(gè)菜單項(xiàng),使用者可通過(guò)使用菜單項(xiàng)實(shí)現(xiàn)復(fù)制、粘貼功能。</p><p>
4、<b> 總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)</b></p><p> ---數(shù)據(jù)分析,算法思路,類設(shè)計(jì),功能實(shí)現(xiàn)(含程序流程圖,主要代及注釋),界面等運(yùn)行調(diào)試與分析討論---給出運(yùn)行屏幕截圖,分析運(yùn)行結(jié)果,有何改進(jìn)想法等。界面類似windows自帶計(jì)算器界面,Java的早期版本以來(lái),抽象窗口工具包為用戶界面組件提供了平臺(tái)獨(dú)立的API。在AWT中,每個(gè)組件都由一個(gè)原生的等同組件生成和控制,這個(gè)原生組件是
5、由當(dāng)前的圖形窗口系統(tǒng)決定的。與此相對(duì),Swing 組件經(jīng)常被描述為輕量級(jí)的,因?yàn)樗鼈儾恍枰僮飨到y(tǒng)本身所帶窗口工具包的原生資源來(lái)生成。</p><p><b> 目 錄</b></p><p><b> 引 言1</b></p><p> 第1章 程序設(shè)計(jì)基本概述2</p><p>
6、 1.1 設(shè)計(jì)目的2</p><p> 1.2 Java主要特點(diǎn)2</p><p> 1.3 功能模塊設(shè)計(jì)3</p><p> 1.4系統(tǒng)功能圖4</p><p> 1.5 本章小結(jié)4</p><p> 第2章程序整體設(shè)計(jì)說(shuō)明5</p><p> 2.1程序中所用到的變量
7、5</p><p> 2.2 程序部分源代碼及注釋5</p><p> 2.3圖形界面設(shè)計(jì)方法7</p><p> 2.3.1標(biāo)準(zhǔn)計(jì)算器界面7</p><p> 2.3.2 界面設(shè)計(jì)代碼7</p><p> 2.4 本章小節(jié)9</p><p> 第3章 程序運(yùn)行后實(shí)現(xiàn)效果
8、10</p><p> 3.1 程序?qū)崿F(xiàn)部分運(yùn)算圖10</p><p> 3.2本章小結(jié)15</p><p> 第4章 設(shè)計(jì)中遇到的問(wèn)題及改良16</p><p> 4.1 設(shè)計(jì)中的遇到的問(wèn)題16</p><p> 4.2問(wèn)題解決及改良16</p><p> 4.3本章小
9、結(jié)16</p><p><b> 結(jié) 論17</b></p><p><b> 致 謝18</b></p><p><b> 參考文獻(xiàn)19</b></p><p><b> 引 言</b></p><p>
10、隨著網(wǎng)絡(luò)的時(shí)代的到來(lái),java語(yǔ)言在網(wǎng)絡(luò)編程方面的優(yōu)勢(shì)使得網(wǎng)絡(luò)編程有了更好的選擇。Java語(yǔ)言最大的特點(diǎn)是具有跨平臺(tái)性,使其不受平臺(tái)不同的影響,得到了廣泛的應(yīng)用本課程是Java面向?qū)ο蟪绦蛟O(shè)計(jì),體現(xiàn)的是面向?qū)ο蠖皇敲嫦蜻^(guò)程,它與面向過(guò)程有很大的區(qū)別,它避免了面向過(guò)程中很多容易出錯(cuò)的內(nèi)容,例如:指針等,在面向?qū)ο蟮脑O(shè)計(jì)中,注意體現(xiàn)的是面向?qū)ο蟮膸状髾C(jī)制,繼承、封裝、多態(tài)和抽象,在面向過(guò)程的設(shè)計(jì)中的多繼承Java采用了接口來(lái)代替實(shí)現(xiàn), &
11、lt;/p><p> Java分為三個(gè)體系JavaSE(Java2 Platform Standard Edition,java平臺(tái)標(biāo)準(zhǔn)版),JavaEE(Java 2 Platform,Enterprise Edition,java平臺(tái)企業(yè)版),JavaME(Java 2 Platform Micro Edition,java平臺(tái)微型版)。</p><p> * Java SE(Java
12、 Platform,Standard Edition)。Java SE 以前稱為 J2SE。它允許開(kāi)發(fā)和部署在桌面、服務(wù)器、嵌入式環(huán)境和實(shí)時(shí)環(huán)境中使用的 Java 應(yīng)用程序。Java SE 包含了支持 Java Web 服務(wù)開(kāi)發(fā)的類,并為 Java Platform,Enterprise Edition(Java EE)提供基礎(chǔ)。</p><p> * Java EE(Java Platform,Enterpr
13、ise Edition)。這個(gè)版本以前稱為 J2EE。企業(yè)版本幫助開(kāi)發(fā)和部署可移植、健壯、可伸縮且安全的服務(wù)器端 Java 應(yīng)用程序。Java EE 是在 Java SE 的基礎(chǔ)上構(gòu)建的,它提供 Web 服務(wù)、組件模型、管理和通信 API,可以用來(lái)實(shí)現(xiàn)企業(yè)級(jí)的面向服務(wù)體系結(jié)構(gòu)(service-oriented architecture,SOA)和 Web 2.0 應(yīng)用程序。</p><p> * Java ME
14、(Java Platform,Micro Edition)。這個(gè)版本以前稱為 J2ME。Java ME 為在移動(dòng)設(shè)備和嵌入式設(shè)備(比如手機(jī)、PDA、電視機(jī)頂盒和打印機(jī))上運(yùn)行的應(yīng)用程序提供一個(gè)健壯且靈活的環(huán)境。Java ME 包括靈活的用戶界面、健壯的安全模型、許多內(nèi)置的網(wǎng)絡(luò)協(xié)議以及對(duì)可以動(dòng)態(tài)下載的連網(wǎng)和離線應(yīng)用程序的豐富支持?;?Java ME 規(guī)范的應(yīng)用程序只需編寫(xiě)一次,就可以用于許多設(shè)備,而且可以利用每個(gè)設(shè)備的本機(jī)功能</
15、p><p> 第1章 程序設(shè)計(jì)基本概述</p><p><b> 1.1 設(shè)計(jì)目的</b></p><p> 圖形界面設(shè)計(jì),熟悉java.awt包中的組件,掌握?qǐng)D形界面設(shè)計(jì)方法,理解委托事件處理模型。從而檢測(cè)對(duì)這門(mén)課的掌握情況,有助于及時(shí)查漏補(bǔ)缺。</p><p> 1.2 Java主要特點(diǎn)</p>&
16、lt;p> 1、Java語(yǔ)言是簡(jiǎn)單的。Java語(yǔ)言的語(yǔ)法與C語(yǔ)言和C++語(yǔ)言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類型轉(zhuǎn)換。特別地,Java語(yǔ)言不使用指針,并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。</p><p> 2、Java語(yǔ)言是一個(gè)面向?qū)ο蟮摹ava語(yǔ)言提供類
17、、接口和繼承等原語(yǔ),為了簡(jiǎn)單起見(jiàn),只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)。Java語(yǔ)言全面支持動(dòng)態(tài)綁定,而C++ 語(yǔ)言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定??傊?,Java語(yǔ)言是一個(gè)純的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。</p><p> 3、Java語(yǔ)言是分布式的。Java語(yǔ)言支持Internet應(yīng)用的開(kāi)發(fā),在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口(java
18、.net),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫(kù),包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開(kāi)發(fā)分布式應(yīng)用的重要手段。</p><p> 4、Java語(yǔ)言是健壯的。Java的強(qiáng)類型機(jī)制、異常處理、廢料的自動(dòng)收集等是Java程序健壯性的重要保證。對(duì)指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。</p&
19、gt;<p> 5、Java語(yǔ)言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。除了Java語(yǔ)言具有的許多安全特性以外,Java對(duì)通過(guò)網(wǎng)絡(luò)下載的類具有一個(gè)安全防范機(jī)制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。 </p><p>
20、 6、Java語(yǔ)言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件), 然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。 </p><p> 7、Java語(yǔ)言是可移植的。這種可移植性來(lái)源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類型的長(zhǎng)度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,J
21、ava編譯器是用Java實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSI C實(shí)現(xiàn)的。</p><p> 8、Java語(yǔ)言是解釋型的。如前所述,Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式, 然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。在運(yùn)行時(shí),Java平臺(tái)中的Java解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過(guò)程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。</p><p> 9、Java是高性能的。
22、與那些解釋型的高級(jí)腳本語(yǔ)言相比,Java的確是高性能的。事實(shí)上,Java的運(yùn)行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來(lái)越接近于C++。 </p><p> 10、Java語(yǔ)言是多線程的。在Java語(yǔ)言中,線程是一種特殊的對(duì)象,它必須由Thread類或其子(孫)類來(lái)創(chuàng)建。通常有兩種方法來(lái)創(chuàng)建線程:其一,使用型構(gòu)為T(mén)hread(Runnable) 的構(gòu)造子將一個(gè)實(shí)現(xiàn)了Runnable接口的對(duì)象
23、包裝成一個(gè)線程,其二,從Thread類派生出子類并重寫(xiě)run方法,使用該子類創(chuàng)建的對(duì)象即為線程。值得注意的是Thread類已經(jīng)實(shí)現(xiàn)了Runnable接口,因此,任何一個(gè)線程均有它的run方法,而run方法中包含了線程所要運(yùn)行的代碼。線程的活動(dòng)由一組方法來(lái)控制。 Java語(yǔ)言支持多個(gè)線程的同時(shí)執(zhí)行,并提供多線程之間的同步機(jī)制(關(guān)鍵字為synchronized)。</p><p> 11、Java語(yǔ)言是動(dòng)態(tài)的。Ja
24、va語(yǔ)言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動(dòng)態(tài)變化的環(huán)境。Java程序需要的類能夠動(dòng)態(tài)地被載入到運(yùn)行環(huán)境,也可以通過(guò)網(wǎng)絡(luò)來(lái)載入所需要的類。這也有利于軟件的升級(jí)。另外,Java中的類有一個(gè)運(yùn)行時(shí)刻的表示,能進(jìn)行運(yùn)行時(shí)刻的類型檢查。</p><p> 1.3 功能模塊設(shè)計(jì)</p><p><b> 標(biāo)準(zhǔn)計(jì)算器</b></p><p> 以下為標(biāo)準(zhǔn)計(jì)算器的
25、基本功能:(1)加法 </p><p> 兩個(gè)數(shù)據(jù)進(jìn)行加操作,可以為小數(shù)。</p><p><b> ?。?)減法</b></p><p> 兩個(gè)數(shù)據(jù)進(jìn)行減操作,可以為負(fù)數(shù)相減。</p><p> ?。?)乘法 兩個(gè)數(shù)相乘操作。</p><p><b> (4)除法</b
26、></p><p><b> 兩個(gè)數(shù)相除操作。</b></p><p><b> (5)開(kāi)平方</b></p><p> 對(duì)任意一個(gè)數(shù)進(jìn)行開(kāi)方運(yùn)算,可以是小數(shù)。</p><p><b> ?。?)百分號(hào)</b></p><p> 對(duì)任意一個(gè)
27、數(shù)進(jìn)行百分號(hào)運(yùn)算。</p><p><b> ?。?)倒數(shù)</b></p><p> 對(duì)任意一個(gè)數(shù)進(jìn)行倒數(shù)運(yùn)算。</p><p><b> 1.4系統(tǒng)功能圖</b></p><p><b> 1.5 本章小結(jié)</b></p><p> 通過(guò)第一章
28、我們可以了解到這次java課程設(shè)計(jì)的一個(gè)總的概況。掌握了java程序編輯器、圖形界面以及文件操作的實(shí)現(xiàn)。這次程序設(shè)計(jì)在設(shè)計(jì)類的時(shí)候考慮到了簡(jiǎn)單明了。我們?cè)O(shè)計(jì)的優(yōu)點(diǎn)是:條理清晰,容易理解,容易修改。</p><p> 第2章程序整體設(shè)計(jì)說(shuō)明</p><p> 2.1程序中所用到的變量</p><p><b> (1)控件變量:</b><
29、;/p><p> JMenu //定義菜單</p><p> JMenuItem //菜單中項(xiàng)的實(shí)現(xiàn)</p><p> JMenuBar //菜單欄的實(shí)現(xiàn)。將 JMenu 對(duì)象添加到菜單欄以構(gòu)造菜
30、單。</p><p> JRadioButtonMenuItem //選中一個(gè)的時(shí)候,禁用另外一個(gè)取消選中的時(shí)候,釋放禁用的那一個(gè)</p><p> JTextField //JTextField是一個(gè)顯示用戶輸入輸出的文本區(qū)域。</p><p> JPanel
31、 //JPanel 作為一個(gè)容器,可以包容一些組件,然后將這個(gè) JPanel 對(duì)象作為一個(gè)組件添加到另一個(gè)容器 (稱作父容器) 中。</p><p> JToggleButton //用于記錄內(nèi)存中是否存在用戶保存的數(shù)據(jù)信息。</p><p> JButton
32、 //是用戶進(jìn)行計(jì)算時(shí)主要的使用工具,一般為其添加actionPerformed事件。</p><p><b> ?。?)其它變量</b></p><p> private double data_One; //用來(lái)存儲(chǔ)運(yùn)算的數(shù)據(jù)</p><p> private do
33、uble data_Two; //用來(lái)存儲(chǔ)運(yùn)算的數(shù)據(jù)</p><p> private char Operator='A'; //存放運(yùn)算符</p><p> private boolean pointIsTyped=false; //判斷輸入的數(shù)據(jù)是否是小數(shù)</p>
34、<p> private int memoryi; //存儲(chǔ)內(nèi)存中的整數(shù)數(shù)據(jù)</p><p> private double memoryd; //存儲(chǔ)內(nèi)存中的小數(shù)數(shù)據(jù)</p><p> 2.2 程序部分源代碼及注釋</p><p> 程序框架圖為應(yīng)用程序提供一個(gè)圖形化
35、的界面本次設(shè)計(jì)運(yùn)行出的程序框架圖如圖2-1所示</p><p><b> 圖2-1程序框架圖</b></p><p> (1)復(fù)制菜單的功能實(shí)現(xiàn)代碼如下:</p><p> ?。?)粘貼菜單的功能實(shí)現(xiàn)代碼如下:</p><p> (3)科學(xué)型菜單的功能實(shí)現(xiàn)代碼下:</p><p> ?。?)
36、數(shù)字分組的功能實(shí)現(xiàn)代碼如下:</p><p> (5)幫助主題菜單的功能實(shí)現(xiàn)代碼如下:</p><p> 2.3圖形界面設(shè)計(jì)方法</p><p> 2.3.1標(biāo)準(zhǔn)計(jì)算器界面</p><p> 2.3.2 界面設(shè)計(jì)代碼</p><p> 計(jì)算器的界面由一個(gè)菜單欄 一個(gè)文本框及27個(gè)按鈕組成,具體實(shí)現(xiàn)代碼如下所示
37、:</p><p> public void init(){</p><p> clickable = true;</p><p><b> //添加菜單欄</b></p><p> MenuBar myB=new MenuBar();</p><p> setMenuBar(myB);
38、</p><p> Menu m1=new Menu("編輯(E)");</p><p> MenuItem m11= new MenuItem("復(fù)制(C) Ctrl+C");</p><p> m11.addActionListener(this);</p><p> m1.add(m11)
39、;</p><p> MenuItem m12=new MenuItem("粘貼(P) Ctrl+V");</p><p> m12.addActionListener(this);</p><p> m1.add(m12);</p><p> myB.add(m1);</p><p>
40、Menu m2=new Menu("查看(V)");</p><p> m2.add(new MenuItem("標(biāo)準(zhǔn)型(T)"));</p><p> m2.add(new MenuItem("科學(xué)型(S)"));</p><p> m2.addSeparator();</p><
41、;p> m2.add(new MenuItem("數(shù)字分組(I)"));</p><p> m2.addActionListener(this);</p><p> myB.add(m2);</p><p> Menu m3=new Menu("幫助(H)");</p><p> Men
42、uItem m31=new MenuItem("幫助主題(H)");</p><p> m31.addActionListener(this);</p><p> m3.add(m31);</p><p> m3.addSeparator();</p><p> MenuItem m32=new MenuItem(
43、"關(guān)于計(jì)算器(A)");</p><p> m32.addActionListener(this);</p><p> m3.add(m32);</p><p> myB.add(m3);</p><p> //////////</p><p> JPanel pa1=new JPan
44、el();</p><p> pa1.setBackground(new Color(236,231,210));</p><p> text=new JTextField("0.",31);</p><p> pa1.add("North",text);</p><p> //面板添加和按鈕的
45、設(shè)置</p><p> JPanel pa=new JPanel();</p><p> JPanel pa2=new JPanel();</p><p> JButton bt1=new JButton("Backspace");</p><p> JButton bt2=new JButton("CE
46、");</p><p> JButton bt3=new JButton("C");</p><p> bt1.addActionListener(this);</p><p> bt2.addActionListener(this);</p><p> bt3.addActionListener(thi
47、s);</p><p> pa2.add(bt1);</p><p> pa2.add(bt2);</p><p> pa2.add(bt3);</p><p> pa.setLayout(new BorderLayout());</p><p> pa.add(pa2,"North");
48、</p><p> JPanel p1=new JPanel();</p><p> p1.setLayout(new GridLayout(4,1,2,5));</p><p> JButton bt4=new JButton("MC");</p><p> JButton bt5=new JButton(&qu
49、ot;MR");</p><p> JButton bt6=new JButton("MS");</p><p> JButton bt7=new JButton("M+");</p><p> p1.add(bt4);</p><p> p1.add(bt5);</p>
50、<p> p1.add(bt6);</p><p> p1.add(bt7);</p><p> pa.add(p1,"West");</p><p> JPanel p = new JPanel();</p><p> p.setLayout(new GridLayout(4, 5,2,5));&l
51、t;/p><p> Stringbuttons[]={"7","8","9","/","sqrt","4","5","6","*", "%","1","2&quo
52、t;,"3","-","1/x","0",".","=","+","+/-"};</p><p> JButton btn[]=new JButton[buttons.length];</p><p> for (int i =
53、 0; i < buttons.length; i++) </p><p> { addButton(p, buttons[i]); </p><p> pa.add(p, "Center");</p><p><b> } </b></p><p> pa1.a
54、dd("South",pa);</p><p> this.getContentPane().add(pa1);</p><p><b> }</b></p><p><b> 2.4 本章小節(jié)</b></p><p> 本章主要介紹了用java創(chuàng)建計(jì)算器的運(yùn)行后的效果
55、圖。運(yùn)行java計(jì)算器以后出現(xiàn)的那個(gè)框架圖就是我們所說(shuō)的java圖形用戶界面(GUI),它是程序與用戶進(jìn)行交流的圖像窗口,為應(yīng)用程序提供一個(gè)圖形化的界面,程序通過(guò)GUI與用戶交互,GUI通過(guò)事件機(jī)制響應(yīng)用戶和程序的交互。如當(dāng)用戶單擊某個(gè)按鈕時(shí)就會(huì)產(chǎn)生動(dòng)作事件,要處理產(chǎn)生的事件,需要在特定的方法中編寫(xiě)處理事件的程序。這樣,當(dāng)產(chǎn)生某種事件時(shí)就會(huì)調(diào)用處理這種事件的方法,從而實(shí)現(xiàn)用戶與程序的交互。另外GUI能使一個(gè)應(yīng)用程序具有與眾不同的“外觀”
56、與“感覺(jué)”。有了GUI,用戶就不用花很多時(shí)間去記憶各個(gè)鍵盤(pán)序列的功能,從而把更多的時(shí)間投入到有效地使用應(yīng)用程序本身上</p><p> 第3章 程序運(yùn)行后實(shí)現(xiàn)效果</p><p> 3.1 程序?qū)崿F(xiàn)部分運(yùn)算圖</p><p> ?。?)加法、乘法運(yùn)算</p><p> 分別輸入9和3然后分別計(jì)算其加法、乘法運(yùn)算</p>&
57、lt;p><b> + || *</b></p><p><b> =</b></p><p><b> ||</b></p><p><b> 功能實(shí)現(xiàn)代碼:</b></p><p> if (op.equals("+"
58、;)) arg += n;</p><p> else if (op.equals("-")) arg -= n;</p><p> else if (op.equals("*")) arg *= n;</p><p> else if (op.equals("/")) arg /= n;</p
59、><p> else if (op.equals("=")) arg = n;</p><p><b> Sqrt</b></p><p><b> 功能實(shí)現(xiàn)代碼:</b></p><p> if (s1.charAt(0) == '-'&&
60、clickable == true) {</p><p> text.setText("負(fù)數(shù)不能開(kāi)根號(hào)");</p><p> clickable = false;</p><p><b> }</b></p><p><b> else</b></p>&
61、lt;p> text.setText(Double.toString(java.lang.Math.sqrt(Double.</p><p> parseDouble(text.getText()))));</p><p><b> ?。?)百分號(hào)運(yùn)算</b></p><p><b> %</b></p&
62、gt;<p><b> 功能實(shí)現(xiàn)代碼:</b></p><p> if(s.equals("%"))//單擊了"%"按鈕 </p><p> { double x;</p><p> x=Double.parseDouble(text.getText().trim()); </
63、p><p> text.setText(""+(0.01*x)); </p><p> //str.setLength(0); </p><p><b> //y=0d; </b></p><p><b> } </b></p><p><b&
64、gt; (5)倒數(shù)運(yùn)算</b></p><p><b> 1/x</b></p><p><b> 功能實(shí)現(xiàn)代碼:</b></p><p> if(s.equals("1/x"))//單擊了"1/X"按鈕 </p><p> { doub
65、le x;</p><p> x=Double.parseDouble(text.getText().trim()); </p><p><b> if(x==0) </b></p><p><b> { </b></p><p> text.setText("除數(shù)不能為零&quo
66、t;); </p><p><b> } </b></p><p><b> else </b></p><p><b> { </b></p><p> text.setText(""+(1/x)); </p><p>&l
67、t;b> } </b></p><p><b> 3.2本章小結(jié)</b></p><p> 本章主要講述的是計(jì)算器設(shè)計(jì)的整個(gè)過(guò)程,其中包括設(shè)計(jì)計(jì)算器界面主要使用到的控件和各按鈕功能的實(shí)現(xiàn)代碼,以及整個(gè)程序中所使用到的變量,雖然本章表述的設(shè)計(jì)過(guò)程比較詳細(xì),但是仍有不足之處,部分變量值的變化沒(méi)有包含在內(nèi),需要用戶根據(jù)自己的需要進(jìn)行調(diào)整,在此就不做詳
68、細(xì)的說(shuō)明了。</p><p> 第4章 設(shè)計(jì)中遇到的問(wèn)題及改良</p><p> 4.1 設(shè)計(jì)中的遇到的問(wèn)題</p><p> ?、僭谶M(jìn)行aqrt 、%、 1/x這三個(gè)運(yùn)算后再輸入數(shù)據(jù)就在文本框中繼續(xù)輸入,不能重新輸入。需要按下清零鍵才可繼續(xù)輸入下一數(shù)據(jù)再進(jìn)行運(yùn)算。</p><p> ②菜單欄中雖然設(shè)計(jì)了“查看—標(biāo)準(zhǔn)型、科學(xué)型、數(shù)字分組
69、”以及“幫助—幫助主題、關(guān)于計(jì)算器”可是其功能并沒(méi)有時(shí)間。</p><p> ?、墼撚?jì)算器設(shè)計(jì)了有關(guān)內(nèi)存的操作,可是并沒(méi)有達(dá)到預(yù)期中的效果。</p><p> ④Java計(jì)算器在進(jìn)行混合運(yùn)算時(shí),不能準(zhǔn)備的進(jìn)行計(jì)算,后面輸入的數(shù)值會(huì)覆蓋先前輸入的數(shù)據(jù),造成數(shù)據(jù)丟失。</p><p> 4.2問(wèn)題解決及改良</p><p> ?、僭谖募_(kāi)頭部
70、分定義一個(gè)標(biāo)志性布爾型變量sign,并賦初值為false;</p><p> ②在加號(hào)、減號(hào)、乘號(hào)、除號(hào)的代碼里添加if判斷語(yǔ)句,如果sign值為false,就另Operator的值為相應(yīng)的運(yùn)算符,并改變sign的值為true;</p><p> ?、廴绻鹲ign的值為true,則執(zhí)行與等號(hào)代碼相同的switch…case…選擇分支語(yǔ)句;</p><p> ④最
71、后在四個(gè)運(yùn)算符按鈕代碼的switch語(yǔ)句的最后分別添加一句、 、 、。</p><p><b> 4.3本章小結(jié)</b></p><p> 通過(guò)對(duì)本程序的改良,這個(gè)程序?qū)?huì)更加完善,問(wèn)題都是我們自己發(fā)現(xiàn)的,只要我們多做,就會(huì)發(fā)現(xiàn)問(wèn)題,只有發(fā)現(xiàn)問(wèn)題還會(huì)去想怎樣去解決問(wèn)題。這樣系統(tǒng)就會(huì)不斷的改善,不斷的提高。</p><p><b>
72、 結(jié) 論</b></p><p> 本次論文設(shè)計(jì),將我本學(xué)期所學(xué)的JAVA知識(shí)得到鞏固和應(yīng)用,在設(shè)計(jì)的過(guò)程中我遇到了很到問(wèn)題,不過(guò)在老師和同學(xué)們的幫助和自己的思考下還是很好的完成了。這次論文設(shè)計(jì)還讓我懂得了寫(xiě)程序不能閉門(mén)造車(chē),要努力拓寬知識(shí)面,開(kāi)闊視野,拓展思維。它還讓我學(xué)會(huì)了在網(wǎng)上查閱那些無(wú)限的資料。我深刻地體會(huì)到自己所學(xué)知識(shí)得淺薄,當(dāng)課程結(jié)束以后感覺(jué)自己已經(jīng)掌握了Java的真諦,但是在課程設(shè)
73、計(jì)中我才發(fā)現(xiàn)自己僅僅握了一點(diǎn)皮毛而已,存在的一些問(wèn)題全暴露出來(lái)了,在完成課題的過(guò)程中也不斷充實(shí)了自己,學(xué)習(xí)到了很多以前沒(méi)有學(xué)習(xí)到的知識(shí),收獲很大。最大的收獲就是對(duì)大學(xué)學(xué)習(xí)的總結(jié)和培養(yǎng)了解決困難的信心和能力,使我對(duì)所學(xué)知識(shí)能夠融會(huì)貫通,又不斷豐富了新知識(shí)。Java計(jì)算器設(shè)計(jì)使得我們對(duì)所學(xué)的專業(yè)課有了更為深刻的認(rèn)識(shí),使得知識(shí)得到了鞏固和提高當(dāng)然,我還需要不斷的學(xué)習(xí),因?yàn)樵谀壳翱磥?lái),我所設(shè)計(jì)的計(jì)算器還存在很多不足。學(xué)習(xí)還要繼續(xù),今后還應(yīng)不斷努
74、力完善自己,用知識(shí)武裝自己。只有適應(yīng)社會(huì)發(fā)展的需求,適應(yīng)時(shí)代發(fā)展的需求,才能在競(jìng)爭(zhēng)日益激烈的社會(huì)中立足。所以,在今后的學(xué)習(xí)中,我會(huì)嚴(yán)格要求自己,希望在老師的幫助下,自己的努力下,在生活中找到屬于自己</p><p><b> 致 謝</b></p><p> 首先誠(chéng)摯的感謝指導(dǎo)老師**,論文完成的前提是老師給我提供了舒適的工作、學(xué)習(xí)環(huán)境,并給予我悉心的關(guān)懷與指導(dǎo)
75、,在此表示衷心地感謝。老師認(rèn)真負(fù)責(zé)的工作態(tài)度、嚴(yán)謹(jǐn)?shù)闹螌W(xué)風(fēng)格,使我深受啟發(fā);開(kāi)發(fā)的同時(shí),和同學(xué)們之間的相互探討也使我獲益匪淺在設(shè)計(jì)的過(guò)程中我遇到了很到問(wèn)題,不過(guò)在老師和同學(xué)們的幫助和自己的思考下還是很好的完成了。它還讓我學(xué)會(huì)了在網(wǎng)上查閱那些無(wú)限的資料,我深刻地體會(huì)到自己所學(xué)知識(shí)得淺薄,但是在論文設(shè)計(jì)中我才發(fā)現(xiàn)自己僅僅握了一點(diǎn)皮毛而已這此課程設(shè)計(jì)還讓我懂得了寫(xiě)程序不能閉門(mén)造車(chē),要努力拓寬知識(shí)面,開(kāi)闊視野,拓展思維,一個(gè)月時(shí)間內(nèi),我除基本學(xué)
76、會(huì)開(kāi)發(fā)java程序外更重要的是學(xué)到了兢兢業(yè)業(yè),奮發(fā)向上的精神,這種精神是我今后人生前進(jìn)道路上的一種力量。所以我再次感謝老師和我的同學(xué)們。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 馬世霞,《java程序設(shè)計(jì)》,機(jī)械工業(yè)出版社.2010.1</p><p> [2] 楊武,劉貞《java編程及應(yīng)用》,北京:高等教
77、育出版社. 2004</p><p> [3]張居敏,《java程序設(shè)計(jì)經(jīng)典教程》,電子工業(yè)出版社. 2008.1</p><p> [4] 馮智圣,《java程序設(shè)計(jì)習(xí)題解析與上機(jī)指導(dǎo)》,北京:冶金工業(yè)出版社會(huì),200</p><p> [5] 印旻,《Java與面向?qū)ο蟪绦蛟O(shè)計(jì)教程》,高等教育出版社,2004.4</p><p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)報(bào)告---設(shè)計(jì)一個(gè)多功能計(jì)算器
- 基于java的標(biāo)準(zhǔn)型計(jì)算器設(shè)計(jì)【畢業(yè)論文】
- 基于java語(yǔ)言的計(jì)算器設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于java語(yǔ)言的計(jì)算器設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 計(jì)算器畢業(yè)論文_——基于單片機(jī)的計(jì)算器設(shè)計(jì)
- 簡(jiǎn)易計(jì)算器畢業(yè)論文
- 計(jì)算器java課程設(shè)計(jì)--簡(jiǎn)單計(jì)算器
- 設(shè)計(jì)一個(gè)簡(jiǎn)單的陷波器 畢業(yè)論文
- java課程設(shè)計(jì)---java計(jì)算器
- 科學(xué)計(jì)算器設(shè)計(jì)-本科畢業(yè)論文
- 畢業(yè)論文設(shè)計(jì)-簡(jiǎn)易計(jì)算器的制作
- 簡(jiǎn)易計(jì)算器畢業(yè)論文.doc
- 編寫(xiě)一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告-范例
- 計(jì)算器畢業(yè)論文-- 基于單片機(jī)的電子計(jì)算器設(shè)計(jì)
- java計(jì)算器課程設(shè)計(jì)-- 計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)
- java計(jì)算器課程設(shè)計(jì)---計(jì)算器模擬程序
- java課程設(shè)計(jì)---計(jì)算器
- java課程設(shè)計(jì)--計(jì)算器
- java課程設(shè)計(jì)計(jì)算器
- java計(jì)算器課程設(shè)計(jì)報(bào)告---模擬科學(xué)計(jì)算器
評(píng)論
0/150
提交評(píng)論