版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
摘要在當(dāng)今這個網(wǎng)絡(luò)的時代,java語言在網(wǎng)絡(luò)編程方面的優(yōu)勢使得網(wǎng)絡(luò)編程有了更好的選擇。Java語言最大的特點是具有跨平臺性,使其不受平臺不同的影響,得到了廣泛的應(yīng)用。該程序是一個圖形界面的 計算器,其界面主要采用了swing包,程序?qū)崿F(xiàn)了:(1)實現(xiàn)簡單加、減、乘、除的運算。(2)實現(xiàn)除了加、減、乘、除按鈕外其他按鈕功能。(3)給軟件添加一個編輯、查看、幫助的主菜單。(4)在數(shù)據(jù)輸入方面,提高程序代碼的健壯性,增強(qiáng)其對非法輸入數(shù)別能力。(5)科學(xué)型計算器與標(biāo)準(zhǔn)計算器之間的菜單切換。Java的早期版本以來,抽象窗口工具包為用戶界面組件提供了平臺獨與此相對,Swing組件經(jīng)常被描述為輕量級的,因為它們不需要操作本身所帶窗口工具包的原生資源來生成。目錄第1章概要設(shè)計········································································11.1查找資料···········································································11.2選題·················································································11.4本章小節(jié)···········································································32.1程序中所用到的變量····························································42.3本章小節(jié)·········································································15第3章程序運行效果································································163.1程序運行主界面································································163.3本章小節(jié)·········································································204.1設(shè)計中遇到的重點·····························································214.3本章小節(jié)·········································································235.3本章小節(jié)·········································································24結(jié) 論················································································25參考文獻(xiàn)················································································26致 謝················································································27指導(dǎo)教師評語··········································································28答辯委員會評語·······································································29第1章概要設(shè)計1.121世紀(jì),隨著社會經(jīng)濟(jì)的迅速發(fā)展和科學(xué)技術(shù)的全面進(jìn)步,人類社代。計算機(jī)正以其前所未有的驚人速度向前發(fā)展,用軟件不斷涌現(xiàn)。計算機(jī)應(yīng)用也普及到各行各業(yè)、。為了便于對大量信息的處理,運用計算機(jī)軟件實現(xiàn)自動管理成為了必然的趨勢。其實,“計算器”早已有了一個很長的歷史,人們從很早就已經(jīng)開始進(jìn)行科學(xué)計算了,在人類不斷探索不斷進(jìn)步的過程中計算器的用途越來越廣,計算結(jié)果越來越精確,只有精確的結(jié)果才能使社會更加進(jìn)步,使人類更能準(zhǔn)確的掌握數(shù)據(jù)所反應(yīng)的社會現(xiàn)象,并根據(jù)準(zhǔn)確的數(shù)據(jù)反應(yīng)進(jìn)一步研究進(jìn)步,所有計算已經(jīng)成為人們生活的一個重要工具,對人類來說必不可少。1.2Java程序編輯器是:圖形界面、線程、流與文件等技術(shù)的綜合應(yīng)用。圖形界面的實現(xiàn):考慮到簡單、實用、高效等特點,就選擇了Swing來完成實現(xiàn),在選擇組件上,文本編輯區(qū)就選用了jTextField作為主要輸入輸出部件、數(shù)字則是選用了SwingComponents內(nèi)的JButton按鈕、簡易菜單主要是選用了SwingMenus里面的JMenu控件、菜單內(nèi)所包含的選項是選用SwingMenus內(nèi)的JMenuItem和jRadioButtonMenuItem兩個控1.3標(biāo)準(zhǔn)型計算器界面設(shè)計1.3.1JAVA文件的建立(1)建立一個名稱為“proj_jsq”Java工程,在該工程中添加一個類中包含一個main函數(shù)((2)界面的設(shè)計:
)。圖1.2數(shù)字按鈕字體顏色設(shè)置圖1.3功能按鈕字體顏色設(shè)置(3)保持代碼簡潔代碼寫后不易理解,在修改和重寫上難度比較大,使工作更加,所以編寫代碼時應(yīng)保持代碼的簡潔易懂。(4)功能實現(xiàn)個設(shè)計中要保持完整性,能夠?qū)崿F(xiàn)計算器中最基本的功能,如減、乘、除等。1.3.2明確任務(wù)用java編寫一個簡單的計算器,使其能夠?qū)崿F(xiàn)最基本的功能,如簡單、減、乘、除;平方根,倒數(shù),余數(shù),三角函數(shù),多數(shù)連續(xù)運算,科數(shù)法等功能。1.4本章小結(jié)通過第一章我們可以了解到這次java課程設(shè)計的一個總的概況。掌握了java程序編輯器、圖形界面以及文件操作的實現(xiàn)。這次程序設(shè)計在設(shè)計時候考慮到了簡單明了。我們設(shè)計的優(yōu)點是:條理清晰,容易理解,修改。第2章程序整體設(shè)計說明2.1程序中所用到的變量(1)控件變量: //定義菜單JMenuItem //菜單欄的實現(xiàn)。將JMenu對加到菜單欄以構(gòu)造菜單。JRadioButtonMenuItem
//選中一個的時候,禁用另外一消選中的時候,釋放禁用的那一個extField
//JTextField是一個顯示用戶輸出的文本區(qū)域。anel
//JPanel作為一個容器,可以包容一些組件,然后將這個JPanel對象作為一個組件添加到另一個容器(稱作父容器)中。oggleButton
//用于記錄內(nèi)存中是否存在用存的數(shù)據(jù)信息。utton
//是用戶進(jìn)行計算時主要的使用工具,一般為其添加actionPerformed事件。(2)其它變量privatedoubledata_One; privatedoubledata_Two; //用來存儲運算的數(shù)據(jù)privatecharOperator='A'; //存放運算符privatebooleanpointIsTyped=false; //判斷輸入的數(shù)據(jù)是否是小數(shù)privateintmemoryi; //存儲內(nèi)存中的整數(shù)數(shù)據(jù)privatedoublememoryd; 2.2程序部分源代碼及注釋2.2.1窗體中的菜單欄圖解:框架圖為應(yīng)用程序提供一個圖形化的界面本次設(shè)計運行出的程序框架圖如圖2-1所示
圖2-1程序框架圖(1)復(fù)制菜單的功能實現(xiàn)代碼如下:(2)粘貼菜單的功能實現(xiàn)代碼如下:(3)科學(xué)型菜單的功能實現(xiàn)代碼下:(4)數(shù)字分組的功能實現(xiàn)代碼如下:(5)幫助主題菜單的功能實現(xiàn)代碼如下:(6)關(guān)于計算器菜單的功能實現(xiàn)代碼如下:①新建一個VisualClass類文件(名為JDia_About):圖2-2關(guān)于計算器的介紹②為關(guān)于計算器菜單添加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) 文件初始位置定義一個變量:四個運算符號代碼內(nèi)添加:于號內(nèi)的代碼如下:(9)為JTextField控件添加鍵盤輸入(keyTyped)事件:其中包括0~9十個數(shù)字,Backspace和Ese等按鈕的實現(xiàn)功能代碼:(10)內(nèi)存數(shù)據(jù)處理的功能代碼:① ② ③ 算結(jié)果與內(nèi)存中的數(shù)據(jù)相加:2.2.3科學(xué)型計算器中部分按鈕功能的實現(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é)本章主要講述的是計算器設(shè)計的整個過程,主要使用到的控件和各按鈕功能的實現(xiàn)代碼,以及整個程序中所使用到的變量,雖然本章表述的設(shè)計過程比較詳細(xì),但是仍有不足之處,部分變量值的變化沒有包含在內(nèi),需要用戶根據(jù)自己的需要進(jìn)行調(diào)整,在此就不做的說明了。第3章程序運行效果:3.1程序運行主要界面:(1)標(biāo)準(zhǔn)型計算器與科學(xué)型計算器之間的切換:圖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)求負(fù)數(shù)的平方根:圖3-8負(fù)數(shù)求平方根3.3本章主要介紹了用java創(chuàng)建計算器的運行后的效果圖。運行
java算器以后出現(xiàn)的那個框架圖就是我們所說的java圖形用戶界面(GUI),程序與用戶進(jìn)行交流的圖像窗口,為應(yīng)用程序提供一個圖形化的界面,程序通過GUI與用戶交互,GUI通過事件機(jī)制響應(yīng)用戶和程序的交互。如當(dāng)用戶單擊某個按鈕時就會產(chǎn)生動作事件,要處理產(chǎn)生的事件,需特定的方法中編寫處理事件的程序。這樣,當(dāng)產(chǎn)生某種事件時就會調(diào)用處理這種事件的方法,從而實現(xiàn)用戶與程序的交互。另外GUI能使一個應(yīng)用程序具有與眾不同的“外觀”與“感覺”。有了GUI,用戶就不用花很多時間去記憶各個鍵盤序列的功能,應(yīng)用程序本身上。第4章設(shè)計中遇到的重點及難點4.1設(shè)計中遇到的重點次設(shè)計中,遇到的重點有以下兩點:(1)Java計算器在進(jìn)行混合運算時,不能準(zhǔn)備的進(jìn)行計算,后面輸數(shù)值會覆蓋先前輸入的數(shù)據(jù),造成數(shù)據(jù)丟失。解決步驟分為以下幾點:①在文件開頭部分定義一個標(biāo)志性布爾型變量 sign,并賦初值為lse;號、減號、乘號、除號的代碼里添加
if判斷語句,如果sign值為false,就另Operator的值為相應(yīng)的運算符,并改變sign的值為true;③如果sign的值為true,則執(zhí)行與等號代碼相同的switch…case…分支語句;④最后在四個運算符按鈕代碼的switch語句的最后分別添加一句、 、 、 (2)java計算器中還用到了將數(shù)據(jù)存入內(nèi)存的方法。實現(xiàn)步驟如下:①首先在類文件的開頭部分定義兩個內(nèi)存變量:②理解與內(nèi)存數(shù)據(jù)有關(guān)的四個按鈕的含義:MC—清除內(nèi)存數(shù)據(jù);MR—MSM+后根據(jù)每個按鈕的含義編寫相應(yīng)代碼就輕而易舉了。4.2設(shè)計中遇到的難點在本次的java計算器的設(shè)計實現(xiàn)過程中,遇到很多難點,主要的難點(1)計算結(jié)果的精確度問題計算精確度問題的解決步驟如下:①在類文件開頭引入一個限定格式的語句: DecimalFormatdf=newcimalFormat("0.0##############");②在每個輸出結(jié)果的地方都引用這個格式:str=df.format(data_One);extField1.setText(str);(2)實現(xiàn)鍵盤輸入①0~9十個數(shù)字按鈕的鍵盤輸入:②Backspace按鈕的鍵盤輸入:③Esc按鈕的功能如下:4.3通過這一章我們了解到了在JAVA中如何更好的運用變量,同時我們會了對混合運算的實現(xiàn),使我們的計算器能夠完成更加復(fù)雜的運算,字輸出格式的語句,使運算結(jié)果更加精確簡單,還入數(shù)據(jù),使計算器不僅能夠使用按鈕進(jìn)入計算,同更加方便快捷,使用戶使用起來更加簡便。對于難點的解決,也讓我們學(xué)到了更多的知道,完善了自己對JAVA更加深一步的認(rèn)識。第5章本次設(shè)計存在不足與改良方案5.1本次設(shè)計中存在的不足次設(shè)計中主要有以下幾個方面是不完善的。(1)數(shù)字分組上存在不足:編寫數(shù)字分組菜單內(nèi)的代碼時,只實現(xiàn)了表面的現(xiàn)象,只能在輸入數(shù)據(jù)以后再選擇數(shù)字分組菜單才能實現(xiàn)數(shù)據(jù)的分組格式,不變,如果想要每個數(shù)字都以分組的形式顯示,只能每個數(shù)據(jù)都重新選擇數(shù)字分組菜單。(2)科學(xué)型計算器上部分按鈕功能沒有實現(xiàn):科學(xué)型計算器比較復(fù)雜,涉及到的數(shù)學(xué)知道比較多,所以部分按鈕的能實現(xiàn)該有的功能。5.2本次設(shè)計的改良方案體結(jié)構(gòu)合理,風(fēng)格一致,模塊化結(jié)構(gòu),界面清晰,接口靈活,操作,能實現(xiàn)比較簡單的混合運算。②科學(xué)計算器實現(xiàn)的功能多于標(biāo)準(zhǔn)型,比標(biāo)準(zhǔn)型計算器能夠?qū)崿F(xiàn)更加多算,基本達(dá)到了科學(xué)計算器的標(biāo)準(zhǔn)。③科學(xué)計算器添加上數(shù)字分組、科學(xué)計數(shù)法和三角函數(shù)功能,使程序更善。5.3個程序?qū)油晟?,問題都是我們自己發(fā)我們多做,就會發(fā)現(xiàn)問題,只有發(fā)現(xiàn)問題還會去想怎樣去解決。這樣系統(tǒng)就會不斷的改善,不斷的提高。結(jié)論通過此次課程設(shè)計,將我
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 采購水泥黃沙合同模板
- 采購水果藍(lán)莓合同模板
- 酒店加盟合同模板
- 采礦權(quán)轉(zhuǎn)讓合同(2篇)
- 林地林木收購合同模板
- 承包建設(shè)小區(qū)合同模板
- 購貨驗收合同模板
- 門窗安裝長期合同模板
- 茂名商用電腦租賃合同模板
- 高速特許經(jīng)營合同模板
- 農(nóng)業(yè)經(jīng)理人(中級)技能認(rèn)證考試復(fù)習(xí)題及答案
- 多胎妊娠減胎護(hù)理
- 7.2維護(hù)祖國統(tǒng)一 (課件) 2024-2025學(xué)年九年級道德與法治上冊 (統(tǒng)編版)
- 詩歌意象(2023年重慶B中考語文試卷非連續(xù)性文本閱讀題及答案)
- 2024年中國電信山東分公司校園招聘高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- 國家電網(wǎng)招聘之通信類通關(guān)題庫(附答案)
- 2024年秋季新人教版九年級上冊化學(xué)全冊教案
- 《Photoshop CC圖形圖像處理實例教程》全套教學(xué)課件
- 二十屆三中全會知識含答案(224題)
- 2024年手術(shù)室感控工作計劃
- 信息安全知識競賽試題及答案(題庫版)
評論
0/150
提交評論