Java計算器實驗報告_第1頁
Java計算器實驗報告_第2頁
Java計算器實驗報告_第3頁
Java計算器實驗報告_第4頁
Java計算器實驗報告_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

摘要在當今這個網(wǎng)絡的時代,java語言在網(wǎng)絡編程方面的優(yōu)勢使得網(wǎng)絡編程有了更好的選擇。Java語言最大的特點是具有跨平臺性,使其不受平臺不同的影響,得到了廣泛的應用。該程序是一個圖形界面的 計算器,其界面主要采用了swing包,程序實現(xiàn)了:(1)實現(xiàn)簡單加、減、乘、除的運算。(2)實現(xiàn)除了加、減、乘、除按鈕外其他按鈕功能。(3)給軟件添加一個編輯、查看、幫助的主菜單。(4)在數(shù)據(jù)輸入方面,提高程序代碼的健壯性,增強其對非法輸入數(shù)別能力。(5)科學型計算器與標準計算器之間的菜單切換。Java的早期版本以來,抽象窗口工具包為用戶界面組件提供了平臺獨與此相對,Swing組件經常被描述為輕量級的,因為它們不需要操作本身所帶窗口工具包的原生資源來生成。目錄第1章概要設計········································································11.1查找資料···········································································11.2選題·················································································11.4本章小節(jié)···········································································32.1程序中所用到的變量····························································42.3本章小節(jié)·········································································15第3章程序運行效果································································163.1程序運行主界面································································163.3本章小節(jié)·········································································204.1設計中遇到的重點·····························································214.3本章小節(jié)·········································································235.3本章小節(jié)·········································································24結 論················································································25參考文獻················································································26致 謝················································································27指導教師評語··········································································28答辯委員會評語·······································································29第1章概要設計1.121世紀,隨著社會經濟的迅速發(fā)展和科學技術的全面進步,人類社代。計算機正以其前所未有的驚人速度向前發(fā)展,用軟件不斷涌現(xiàn)。計算機應用也普及到各行各業(yè)、。為了便于對大量信息的處理,運用計算機軟件實現(xiàn)自動管理成為了必然的趨勢。其實,“計算器”早已有了一個很長的歷史,人們從很早就已經開始進行科學計算了,在人類不斷探索不斷進步的過程中計算器的用途越來越廣,計算結果越來越精確,只有精確的結果才能使社會更加進步,使人類更能準確的掌握數(shù)據(jù)所反應的社會現(xiàn)象,并根據(jù)準確的數(shù)據(jù)反應進一步研究進步,所有計算已經成為人們生活的一個重要工具,對人類來說必不可少。1.2Java程序編輯器是:圖形界面、線程、流與文件等技術的綜合應用。圖形界面的實現(xiàn):考慮到簡單、實用、高效等特點,就選擇了Swing來完成實現(xiàn),在選擇組件上,文本編輯區(qū)就選用了jTextField作為主要輸入輸出部件、數(shù)字則是選用了SwingComponents內的JButton按鈕、簡易菜單主要是選用了SwingMenus里面的JMenu控件、菜單內所包含的選項是選用SwingMenus內的JMenuItem和jRadioButtonMenuItem兩個控1.3標準型計算器界面設計1.3.1JAVA文件的建立(1)建立一個名稱為“proj_jsq”Java工程,在該工程中添加一個類中包含一個main函數(shù)((2)界面的設計:

)。圖1.2數(shù)字按鈕字體顏色設置圖1.3功能按鈕字體顏色設置(3)保持代碼簡潔代碼寫后不易理解,在修改和重寫上難度比較大,使工作更加,所以編寫代碼時應保持代碼的簡潔易懂。(4)功能實現(xiàn)個設計中要保持完整性,能夠實現(xiàn)計算器中最基本的功能,如減、乘、除等。1.3.2明確任務用java編寫一個簡單的計算器,使其能夠實現(xiàn)最基本的功能,如簡單、減、乘、除;平方根,倒數(shù),余數(shù),三角函數(shù),多數(shù)連續(xù)運算,科數(shù)法等功能。1.4本章小結通過第一章我們可以了解到這次java課程設計的一個總的概況。掌握了java程序編輯器、圖形界面以及文件操作的實現(xiàn)。這次程序設計在設計時候考慮到了簡單明了。我們設計的優(yōu)點是:條理清晰,容易理解,修改。第2章程序整體設計說明2.1程序中所用到的變量(1)控件變量: //定義菜單JMenuItem //菜單欄的實現(xiàn)。將JMenu對加到菜單欄以構造菜單。JRadioButtonMenuItem

//選中一個的時候,禁用另外一消選中的時候,釋放禁用的那一個extField

//JTextField是一個顯示用戶輸出的文本區(qū)域。anel

//JPanel作為一個容器,可以包容一些組件,然后將這個JPanel對象作為一個組件添加到另一個容器(稱作父容器)中。oggleButton

//用于記錄內存中是否存在用存的數(shù)據(jù)信息。utton

//是用戶進行計算時主要的使用工具,一般為其添加actionPerformed事件。(2)其它變量privatedoubledata_One; privatedoubledata_Two; //用來存儲運算的數(shù)據(jù)privatecharOperator='A'; //存放運算符privatebooleanpointIsTyped=false; //判斷輸入的數(shù)據(jù)是否是小數(shù)privateintmemoryi; //存儲內存中的整數(shù)數(shù)據(jù)privatedoublememoryd; 2.2程序部分源代碼及注釋2.2.1窗體中的菜單欄圖解:框架圖為應用程序提供一個圖形化的界面本次設計運行出的程序框架圖如圖2-1所示

圖2-1程序框架圖(1)復制菜單的功能實現(xiàn)代碼如下:(2)粘貼菜單的功能實現(xiàn)代碼如下:(3)科學型菜單的功能實現(xiàn)代碼下:(4)數(shù)字分組的功能實現(xiàn)代碼如下:(5)幫助主題菜單的功能實現(xiàn)代碼如下:(6)關于計算器菜單的功能實現(xiàn)代碼如下:①新建一個VisualClass類文件(名為JDia_About):圖2-2關于計算器的介紹②為關于計算器菜單添加actionperformed事件:2.2.2程序中各個按鈕的功能實現(xiàn):(1)計算器中數(shù)字(0~9)按鈕所實現(xiàn)的功能代碼如下:(2) 文件的開頭定義一個布爾型的變量:②在點按鈕的actionPerformed事件中添加如下代碼:(3) (4)計算器中四則運算符(+、-、*、/)實現(xiàn)的功能代碼如下:(5)實現(xiàn)的功能代碼如下:(6) 單擊“*”,輸入第二個數(shù),然后單擊“%”。例如,50*25%將顯示為12.5。輸入第二個數(shù),單擊“%”,然后單擊“=”。例如,50+25%(指的是50的25%)=62.5。(8) 文件初始位置定義一個變量:四個運算符號代碼內添加:于號內的代碼如下:(9)為JTextField控件添加鍵盤輸入(keyTyped)事件:其中包括0~9十個數(shù)字,Backspace和Ese等按鈕的實現(xiàn)功能代碼:(10)內存數(shù)據(jù)處理的功能代碼:① ② ③ 算結果與內存中的數(shù)據(jù)相加:2.2.3科學型計算器中部分按鈕功能的實現(xiàn):(1)求數(shù)字階乘按鈕的代碼如下:(2)求數(shù)字對數(shù)按鈕的代碼如下:①log函數(shù)的代碼如下:②ln函數(shù)的代碼如下:(3)求數(shù)字的三角函數(shù)(sin、cos、tan)按鈕的代碼如下:以sin函數(shù)為例代碼如下:(cos和tan同理)DecimalFormatdf=newDecimalFormat("0.0");doublea;doubleb;Double.parseDouble(jTextField1.getText());((b*180/Math.PI)%180==0){0;r="0.";extField1.setText(str);elseif(b*180/Math.PI==30){a=Math.sin(b);str=df.format(a);Text(str);se{a=Math.sin(b);str=Double.toString(a);tText(str);r="";ntIsTyped=false;elseif(bj==0){(Double.parseDouble(jTextField1.getText())%180==0){0;r="0.";extField1.setText(str);se(Double.parseDouble(jTextField1.getText())==30){Math.sin((Double.parseDouble(jTextField1.getText()))*Math./180);r=df.format(a);extField1.setText(str);se{Math.sin((Double.parseDouble(jTextField1.getText()))*Math./180);r=Double.toString(a);extField1.setText(str);r="";ntIsTyped=false;(4)求數(shù)字的平方按鈕的代碼如下:(5)Int按鈕功能的代碼如下:(6)PI按鈕功能的代碼如下:2.3本章小節(jié)本章主要講述的是計算器設計的整個過程,主要使用到的控件和各按鈕功能的實現(xiàn)代碼,以及整個程序中所使用到的變量,雖然本章表述的設計過程比較詳細,但是仍有不足之處,部分變量值的變化沒有包含在內,需要用戶根據(jù)自己的需要進行調整,在此就不做的說明了。第3章程序運行效果:3.1程序運行主要界面:(1)標準型計算器與科學型計算器之間的切換:圖3-1計算器之間的換切3.2計算器部分按鈕運行主要界面:(1)加減乘除運算:(以除法為例:9/4和9/0)(2)開平方根運算: (3)百分號運算:圖3-5百分號運算圖(4)求倒數(shù)據(jù)運算:效值的倒數(shù)據(jù)運行效果:圖3-6倒數(shù)運算圖②0求倒數(shù)運算: 0求倒數(shù)運算圖(5)求負數(shù)的平方根:圖3-8負數(shù)求平方根3.3本章主要介紹了用java創(chuàng)建計算器的運行后的效果圖。運行

java算器以后出現(xiàn)的那個框架圖就是我們所說的java圖形用戶界面(GUI),程序與用戶進行交流的圖像窗口,為應用程序提供一個圖形化的界面,程序通過GUI與用戶交互,GUI通過事件機制響應用戶和程序的交互。如當用戶單擊某個按鈕時就會產生動作事件,要處理產生的事件,需特定的方法中編寫處理事件的程序。這樣,當產生某種事件時就會調用處理這種事件的方法,從而實現(xiàn)用戶與程序的交互。另外GUI能使一個應用程序具有與眾不同的“外觀”與“感覺”。有了GUI,用戶就不用花很多時間去記憶各個鍵盤序列的功能,應用程序本身上。第4章設計中遇到的重點及難點4.1設計中遇到的重點次設計中,遇到的重點有以下兩點:(1)Java計算器在進行混合運算時,不能準備的進行計算,后面輸數(shù)值會覆蓋先前輸入的數(shù)據(jù),造成數(shù)據(jù)丟失。解決步驟分為以下幾點:①在文件開頭部分定義一個標志性布爾型變量 sign,并賦初值為lse;號、減號、乘號、除號的代碼里添加

if判斷語句,如果sign值為false,就另Operator的值為相應的運算符,并改變sign的值為true;③如果sign的值為true,則執(zhí)行與等號代碼相同的switch…case…分支語句;④最后在四個運算符按鈕代碼的switch語句的最后分別添加一句、 、 、 (2)java計算器中還用到了將數(shù)據(jù)存入內存的方法。實現(xiàn)步驟如下:①首先在類文件的開頭部分定義兩個內存變量:②理解與內存數(shù)據(jù)有關的四個按鈕的含義:MC—清除內存數(shù)據(jù);MR—MSM+后根據(jù)每個按鈕的含義編寫相應代碼就輕而易舉了。4.2設計中遇到的難點在本次的java計算器的設計實現(xiàn)過程中,遇到很多難點,主要的難點(1)計算結果的精確度問題計算精確度問題的解決步驟如下:①在類文件開頭引入一個限定格式的語句: DecimalFormatdf=newcimalFormat("0.0##############");②在每個輸出結果的地方都引用這個格式:str=df.format(data_One);extField1.setText(str);(2)實現(xiàn)鍵盤輸入①0~9十個數(shù)字按鈕的鍵盤輸入:②Backspace按鈕的鍵盤輸入:③Esc按鈕的功能如下:4.3通過這一章我們了解到了在JAVA中如何更好的運用變量,同時我們會了對混合運算的實現(xiàn),使我們的計算器能夠完成更加復雜的運算,字輸出格式的語句,使運算結果更加精確簡單,還入數(shù)據(jù),使計算器不僅能夠使用按鈕進入計算,同更加方便快捷,使用戶使用起來更加簡便。對于難點的解決,也讓我們學到了更多的知道,完善了自己對JAVA更加深一步的認識。第5章本次設計存在不足與改良方案5.1本次設計中存在的不足次設計中主要有以下幾個方面是不完善的。(1)數(shù)字分組上存在不足:編寫數(shù)字分組菜單內的代碼時,只實現(xiàn)了表面的現(xiàn)象,只能在輸入數(shù)據(jù)以后再選擇數(shù)字分組菜單才能實現(xiàn)數(shù)據(jù)的分組格式,不變,如果想要每個數(shù)字都以分組的形式顯示,只能每個數(shù)據(jù)都重新選擇數(shù)字分組菜單。(2)科學型計算器上部分按鈕功能沒有實現(xiàn):科學型計算器比較復雜,涉及到的數(shù)學知道比較多,所以部分按鈕的能實現(xiàn)該有的功能。5.2本次設計的改良方案體結構合理,風格一致,模塊化結構,界面清晰,接口靈活,操作,能實現(xiàn)比較簡單的混合運算。②科學計算器實現(xiàn)的功能多于標準型,比標準型計算器能夠實現(xiàn)更加多算,基本達到了科學計算器的標準。③科學計算器添加上數(shù)字分組、科學計數(shù)法和三角函數(shù)功能,使程序更善。5.3個程序將會更加完善,問題都是我們自己發(fā)我們多做,就會發(fā)現(xiàn)問題,只有發(fā)現(xiàn)問題還會去想怎樣去解決。這樣系統(tǒng)就會不斷的改善,不斷的提高。結論通過此次課程設計,將我

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論