版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 課程設(shè)計(論文)任務(wù)書</p><p> 題目 模擬科學(xué)計算器 </p><p> 專業(yè) 學(xué)號 姓名 </p><p><b> 主要內(nèi)容:</b></p><p>
2、 設(shè)計一個圖像界面的計算器用戶可以通過鼠標(biāo)點擊依次輸入?yún)⒓佑嬎愕臄?shù)值,進行加減乘除等混合運算。</p><p><b> 基本要求:</b></p><p> 能實現(xiàn)windows系統(tǒng)中的基本運算功能,能關(guān)閉窗口點擊按鈕會在顯示屏上輸出結(jié)果。</p><p> 完 成 期 限: &
3、lt;/p><p> 指導(dǎo)教師簽名: </p><p> 評審小組負(fù)責(zé)人簽名: </p><p> 年 月 日</p><p><b> 課程設(shè)計(論文)</b></p><p>
4、 設(shè)計(論文)題目: 模擬科學(xué)計算器 </p><p> 所 在 系 : </p><p> 專 業(yè) 名 稱 : </p><p> 學(xué) 生 姓 名:
5、 </p><p> 學(xué) 號: </p><p> 指 導(dǎo) 教 師: </p><p> 2011 年 12 月 15 日</p><p><b> 目 錄</b><
6、;/p><p><b> 引言2</b></p><p> 一、課程設(shè)計目的2</p><p><b> 二、需求分析3</b></p><p> 三、課程設(shè)計內(nèi)容3</p><p><b> 四、總體設(shè)計3</b></p>
7、<p> 4.1系統(tǒng)功能圖3</p><p> 4.2程序流程圖4</p><p><b> 4.3算法思路4</b></p><p><b> 4.4算法實現(xiàn)5</b></p><p><b> 4.5功能規(guī)劃5</b></p>
8、<p><b> 4.6總結(jié)不足5</b></p><p><b> 五、具體實現(xiàn)6</b></p><p><b> 5.1主界面6</b></p><p><b> 5.2界面說明6</b></p><p><b>
9、 5.3算法實現(xiàn)7</b></p><p><b> 六、運算演示10</b></p><p><b> 七、結(jié)束語12</b></p><p><b> 八、致謝13</b></p><p><b> 九、參考資料13</b&g
10、t;</p><p><b> 引言</b></p><p> 該程序是一個圖形界面的簡單的 java 計算器,使用人員能快捷簡單地進行 操作.即時準(zhǔn)確地獲得需要的計算的結(jié)果,充分降低了數(shù)字計算的難度和節(jié)約了 時間,對人們的生活有一定的幫助.可以進行簡單的四則運算(加,減,乘,除, 以及求倒數(shù),求相反數(shù)) ,有退格功能, 歸零 表示初始化,界面顏色為灰白,
11、該 程序支持鍵盤操作。</p><p> 隨著科學(xué)技術(shù)的不斷發(fā)展, 計算機已經(jīng)成為我們工作學(xué)習(xí)和生活中不可缺少 的工具.文本編輯器是個人計算機最司空見慣的應(yīng)用程序了,在學(xué)習(xí)了 Java 語 言之后,我決定使用 Java 語言編寫一個簡單的計算器,可以實現(xiàn)簡單的運算功 能,滿足日?;镜墓ぷ鲗W(xué)習(xí)和娛樂需要.</p><p> Java 是由 Sun 公司開發(fā)的新一代純面向?qū)ο蟮木W(wǎng)絡(luò)編程語
12、言.其目標(biāo)是建 立一種在任意種機器, 任一種操作系統(tǒng)的網(wǎng)絡(luò)環(huán)境中運行的軟件, 實行所謂的 "程 序?qū)懸淮?到處運行"的目標(biāo).正因為如此,Java 已成為當(dāng)今 Internet 上最流 行,最受歡迎的一種程序開發(fā)語言.</p><p> Java 開發(fā)小組把 Java 按特性分為基本版,移動版,企業(yè)版,每個版本有一 個軟件開發(fā)包. Java 基本版本叫 Java 2 標(biāo)準(zhǔn)版 (Java 2 S
13、tandard Edition,J2SE) , 它包含建立 Java 應(yīng)用程序或者是 Applet 所需的應(yīng)用程序編程接口(API) .Java 2 移動版(The Java 2 Mobile Edition,J2ME)包含創(chuàng)建無線 Java 應(yīng)用程序的 API.還有 Java 2 企業(yè)版(The Java 2 Enterprise,J2EE)是 J2SE 的增強版本, 包含建立多層架構(gòu)應(yīng)用程序 API。</p><
14、p><b> 一、課程設(shè)計目的</b></p><p> Java 程序設(shè)計是一門應(yīng)用性很強的專業(yè)課,在學(xué)習(xí)時必須注意理論與實踐相結(jié) 合,為此開設(shè)了本課程設(shè)計,其目的是通過本課程設(shè)計使學(xué)生能夠較全面的掌握 面向?qū)ο蟪绦蛟O(shè)計的有關(guān)概念和開發(fā)方法,以便能較全面地理解、掌握和綜合運 用所學(xué)的知識,提高自身的編程能力。</p><p><b> 二、需求
15、分析 </b></p><p> 日常生活中經(jīng)常需要用到計算器,比如科學(xué)計算, 數(shù)值計算, 會計業(yè)務(wù)等等,在Applet中實現(xiàn)一個精巧的計算器,可以讓用戶的 操作也更方便和快捷。 本項目需要實現(xiàn)一個具有四則運算的計算器, 能夠?qū)崿F(xiàn)基本的加、減、乘、除運算,以及其它的輔助功能;界面 簡潔適用;要提供主要的設(shè)計思路、類的設(shè)計。 </p><p><b> 三、課程設(shè)計
16、內(nèi)容</b></p><p> 實現(xiàn)計算器功能的應(yīng)用程序 根據(jù)計算器的實際功能,用戶可以通過鼠標(biāo)依次輸入?yún)⒓佑嬎愕臄?shù)值,進行加、 減、乘、除等混合運算,界面美觀。</p><p><b> 四、總體設(shè)計 </b></p><p><b> 4.1系統(tǒng)功能圖</b></p><p>
17、<b> 4.2程序流程圖</b></p><p><b> 4.3算法思路</b></p><p> 主要思路是通過將數(shù)據(jù)字鍵合其他符號區(qū)別開來進行監(jiān)聽,可以a變量儲存運算前的數(shù)據(jù),s存儲運算符,shu存儲運算符后的數(shù)據(jù)。當(dāng)按住運算符按鈕時便將之前輸入的數(shù)字存儲在變量a中,并將運算符存儲在s中,當(dāng)按住等號按鈕時,便將便將后輸入的數(shù)字存儲到
18、shu中并根據(jù)所輸入的運算符進行相關(guān)的運算。</p><p><b> 4.4算法實現(xiàn)</b></p><p> 計算器的程序設(shè)計,必然有數(shù)據(jù)輸入,其中數(shù)據(jù)包括運算符 和數(shù)字,均要通過計算器上的button按鈕選項按鈕輸入進去, 里面錄入的必然是字符型的數(shù)據(jù),如果進行運算要將輸入的 數(shù)據(jù)轉(zhuǎn)化成Double型,以防出錯。</p><p>&l
19、t;b> 4.5功能規(guī)劃</b></p><p> 本程序中只有一個主類Chat。在此類中添加了JPanel框架 在此框架中使用了setbounds方法布局整個界面。在菜單欄中設(shè)置了“編輯”和“幫助”菜單項,在“編輯”中可以實現(xiàn)“粘貼”“復(fù)制”“退出”功能,在“幫助”中實現(xiàn)“關(guān)于計算器”“幫助主題”點擊相關(guān)按鈕可以實現(xiàn)相關(guān)其他功能。</p><p><b>
20、 4.6總結(jié)不足</b></p><p> 首先沒有實現(xiàn)Mc、Mr、Ms、M+四個功能,其次只是實現(xiàn)了標(biāo)準(zhǔn)計算器的運算,沒有實現(xiàn)科學(xué)計算器的功能,因此還有待進一步完善,這樣才能夠完成自己的第一個應(yīng)用軟件設(shè)計。</p><p><b> 五、具體實現(xiàn)</b></p><p><b> 5.1主界面</b>
21、</p><p><b> 5.2界面說明</b></p><p> 計算器的界面有一個菜單欄 兩個文本框和22個按鈕組成。在菜單項里有“編輯”和“幫助”兩個菜單,在“編輯”菜單中實現(xiàn)了對t1文本內(nèi)容的復(fù)制和粘貼,同時也加入了實現(xiàn)了退出程序的子菜單,在“幫助”菜單中,點擊“幫助主題”便會打開C:\WINDOWS\Help下的calc.chm幫助文件,點擊“關(guān)于計算
22、器”便會打開下列對話框</p><p> 在按鈕組里面有22個按鈕其中Bacspace表示“退格”,C表示“清除”,sqrt表示開方“+/-”表示正負(fù)數(shù)的轉(zhuǎn)換。</p><p><b> 5.3算法實現(xiàn)</b></p><p><b> 開始</b></p><p><b> if
23、(f){</b></p><p> t1.setText("0");</p><p><b> f=false;</b></p><p><b> }</b></p><p><b> 單擊數(shù)值按鈕0</b></p><
24、;p> if(e.getSource()==butt0){</p><p> String a=t1.getText();</p><p> if(a.equals("0")){</p><p> t1.setText("0");</p><p><b> }else{<
25、/b></p><p> t1.setText(a+"0");</p><p><b> } </b></p><p><b> }</b></p><p> 單擊1到9 與之相同</p><p><b> 單擊+</
26、b></p><p> if(e.getSource()==buttjia){</p><p><b> f=true;</b></p><p> String a=t1.getText();</p><p> if(this.s.equals("")&&this.shu
27、==0.0){</p><p><b> shu(a);</b></p><p> yunsuan("+");</p><p><b> }else{</b></p><p> Double b=Double.valueOf(a).doubleValue(); <
28、/p><p> Double z=0.0; </p><p> if(this.s.endsWith("+")){</p><p> z=this.shu+b;</p><p> }else if(this.s.endsWith("-")){</p><p> z=t
29、his.shu-b;</p><p> }else if(this.s.endsWith("*")){</p><p> z=this.shu*b;</p><p> }else if(this.s.endsWith("/")){</p><p> z=this.shu/b;</p>
30、<p><b> }</b></p><p> shu(String.valueOf(z));</p><p> yunsuan("+");</p><p> t1.setText(String.valueOf(z));</p><p><b> }</b>
31、;</p><p><b> }</b></p><p> 單擊減、乘、除與上面相同</p><p><b> 單擊點號</b></p><p> if(e.getSource()==buttdian){</p><p> clickable=true;</p
32、><p> for (int i = 0; i < t1.getText().length(); i++) </p><p> if ('.' == t1.getText().charAt(i)) </p><p><b> { </b></p><p> clickable=false; &l
33、t;/p><p><b> break; </b></p><p> } //第一層判斷是否里面含有小數(shù)點;</p><p> if(clickable==true)//第二層判斷</p><p> t1.setText(t1.getText()+".");</p><p>
34、;<b> }</b></p><p><b> 單擊+/-鍵</b></p><p> if(e.getSource()==buttfu){</p><p> String a=t1.getText();</p><p> String b=a.substring(0,1);</p
35、><p> if(b.equals("-")){</p><p> String z=a.substring(1);</p><p> t1.setText(z);</p><p><b> }else{</b></p><p> t1.setText("-&q
36、uot;+a);</p><p><b> }</b></p><p><b> }</b></p><p><b> 單擊1/x鍵</b></p><p> if(e.getSource()==buttdao){</p><p> Strin
37、g a=t1.getText();</p><p> //字符型轉(zhuǎn)換為浮點型</p><p> Double s=1/Double.valueOf(a).doubleValue();</p><p> String b=String.valueOf(s);</p><p> t1.setText(b); <
38、/p><p><b> }</b></p><p><b> 單擊sqrt鍵</b></p><p> if(e.getSource()==buttsqrt){</p><p><b> f=true;</b></p><p> String a=
39、t1.getText();</p><p> //float s=Integer.parseInt(a);</p><p> //字符型抓換為浮點型</p><p> Double s=Double.valueOf(a).doubleValue();</p><p><b> if(s>0){</b><
40、;/p><p> double z=Math.sqrt(s);</p><p> String b=String.valueOf(z);</p><p> t1.setText(b);</p><p><b> }</b></p><p><b> }</b></
41、p><p><b> 單擊%鍵</b></p><p> if(e.getSource()==buttbai){</p><p> String a=t1.getText();</p><p> Double s=Double.valueOf(a).doubleValue()/100;</p><
42、p> //if(this.shu!=0.0)</p><p> //this.shu=this.shu/100;</p><p> String t=String.valueOf(s);</p><p> t1.setText(t);</p><p> // System.out.println(shu);</p>
43、<p><b> }</b></p><p><b> 單擊C</b></p><p> if(e.getSource()==buttc){</p><p> t1.setText("0");</p><p> this.s="";&l
44、t;/p><p> this.shu=0.0;</p><p><b> }</b></p><p><b> 退格</b></p><p> if(e.getSource()==buttb)</p><p><b> {</b></p>
45、;<p> String s = t1.getText(); </p><p> t1.setText(""); </p><p> for (int i = 0; i < s.length() - 1; i++)</p><p><b> { </b></p><p>
46、 char a = s.charAt(i); </p><p> t1.setText(t1.getText() + a); </p><p><b> }</b></p><p><b> }</b></p><p><b> 六、運算演示</b></p>
47、<p> 下面演示一下程序的部分功能:</p><p><b> 2平方根的結(jié)果</b></p><p><b> 3的倒數(shù)</b></p><p> 98.5-487.92的結(jié)果</p><p><b> 9.25*2的結(jié)果</b></p>
48、<p><b> 七、結(jié)束語</b></p><p> 到此本次課程報告快接近尾聲了,通過本次課程設(shè)計我學(xué)到了好多,也發(fā)現(xiàn)了自己的好多 不足! 很顯然最明顯的收獲是理解和較熟練的掌握了 JavaApplet 圖形界面的基本方法,尤其在 JavaApplet 圖形界面的布局方面學(xué)到頗多,以前布局很亂并且很多布局都是無效的.在此次課設(shè) 中通過查閱很多資料和同學(xué)的互相幫助,充分發(fā)
49、揮了 JavaApplet 界面布局的優(yōu)越性.另外按鈕 功能的實現(xiàn)也是本次課設(shè)的一大難點,怎樣實現(xiàn)那些功能是關(guān)鍵.通過這次課設(shè)我又學(xué)會了好 函數(shù)。另外我這次課設(shè)部分程序是通過外部資料得到的,這使得我認(rèn)識到查閱資料和開外多看書 籍的重要性.但不主張照搬,因為那不是我們自己成果,那是不光彩的 !! 總之通過此次課設(shè)我學(xué)到了好多,也掌握了好多關(guān)于 JavaApplet 的事件管理和按鈕功能實 現(xiàn)方法,這次課程設(shè)計給我的感受就是:只要你有心,不
50、怕你完成不了課程設(shè)計!!!!!</p><p><b> 八、致謝</b></p><p> 首先我要感謝我的老師在課程設(shè)計上給予我的指導(dǎo)、提供給我的支持和幫助,這是我能順利完成這次報告的主要原因,更重要的是老師幫我解決了許多技術(shù)上的難題,讓我能把系統(tǒng)做得更加完善。在此期間,我不僅學(xué)到了許多新的知識,而且也開闊了視野,提高了自己的設(shè)計能力。其次,我要感謝幫助過我
51、的同學(xué),他們也為我解決了不少我不太明白的設(shè)計商的難題。同時也感謝學(xué)院為我提供良好的做畢業(yè)設(shè)計的環(huán)境。</p><p><b> 九、參考資料</b></p><p><b> 參考文獻: </b></p><p> [1]葉核亞 《java 程序設(shè)計實用教程》(第三版) 電子工業(yè)出版社</p><
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計-模擬科學(xué)計算器
- java模擬科學(xué)計算器課程設(shè)計
- java模擬科學(xué)計算器課程設(shè)計
- java模擬科學(xué)計算器課程設(shè)計
- java計算器課程設(shè)計報告---模擬科學(xué)計算器
- java課程設(shè)計---科學(xué)計算器
- java計算器課程設(shè)計---計算器模擬程序
- java課程設(shè)計---java計算器
- 模擬科學(xué)計算器課程設(shè)計
- 計算器java課程設(shè)計--簡單計算器
- java課程設(shè)計---計算器
- java課程設(shè)計—計算器
- java課程設(shè)計計算器
- java計算器課程設(shè)計
- java課程設(shè)計--計算器
- java課程設(shè)計計算器
- 模擬科學(xué)計算器 課程設(shè)計報告
- java_計算器課程設(shè)計
- java課程設(shè)計-計算器系統(tǒng)
- java課程設(shè)計報告—計算器
評論
0/150
提交評論