

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