2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論