版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> ( Java程序設(shè)計(jì) )</p><p> 設(shè)計(jì)題目 方程求根 </p><p> 年級(jí)專(zhuān)業(yè) 2010級(jí)計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 學(xué)生姓名 <
2、;/p><p> 指導(dǎo)老師 </p><p> 2012年01月 </p><p> Java程序設(shè)計(jì)課程設(shè)計(jì)任務(wù)書(shū)</p><p> 計(jì)算機(jī)與信息工程 院系 計(jì)算機(jī)科學(xué)與技術(shù) 教研室</p><p> 2011年 12 月 1 日&
3、lt;/p><p><b> 目錄</b></p><p> 一、概要設(shè)計(jì)························
4、3;··················4-5</p><p><b> 1、設(shè)計(jì)內(nèi)容</b></p><p><b> 2、程序流程圖</b></p>
5、<p> 二、詳細(xì)設(shè)計(jì)·································
6、83;·········6-10</p><p><b> 1、Java類(lèi)清單</b></p><p><b> 2、程序代碼</b></p><p> 三、運(yùn)行結(jié)果·····&
7、#183;···································11-12
8、</p><p> 1、不是一元二次方程</p><p><b> 2、沒(méi)有實(shí)根</b></p><p><b> 3、有實(shí)根</b></p><p> 四、總結(jié)報(bào)告··········
9、83;································12</p><p>
10、五、參考文獻(xiàn)···································
11、3;·······12</p><p><b> 概要設(shè)計(jì)</b></p><p><b> 1、設(shè)計(jì)內(nèi)容</b></p><p> 首先編寫(xiě)一個(gè)封裝一元二次方程的類(lèi),然后再編寫(xiě)一個(gè)窗口。要求窗口使用三個(gè)文本框和一個(gè)文本區(qū),為方程對(duì)象中的數(shù)據(jù)提供視
12、圖,其中三個(gè)文本框用來(lái)顯示和更新方程對(duì)象的系數(shù);文本區(qū)對(duì)象用來(lái)顯示方程的根。窗口中有一個(gè)按鈕,用戶(hù)單擊該按鈕后,程序用文本框中的數(shù)據(jù)修改方程的系數(shù),并將方程的根顯示在文本區(qū)中。</p><p><b> 2、程序流程圖</b></p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p><b> 1、Jav
13、a類(lèi)清單</b></p><p> 本設(shè)計(jì)由3個(gè)類(lèi)構(gòu)成。三個(gè)類(lèi)如表一(Java類(lèi)清單)所示:</p><p> 表一. Java類(lèi)清單</p><p><b> 2、程序代碼</b></p><p> 名稱(chēng):一元二次方程求根</p><p> 時(shí)間:2012年1月6日<
14、;/p><p><b> /*</b></p><p> * SquareEquation.Java</p><p><b> *</b></p><p><b> * 開(kāi)發(fā)者:董雪</b></p><p><b> *</b&
15、gt;</p><p> * 簡(jiǎn)介:封裝一元二次方程</p><p><b> *</b></p><p><b> */</b></p><p> public class SquareEquation </p><p><b> { </b
16、></p><p> double a,b,c;</p><p> double root1,root2;</p><p> public void setA(double a)</p><p><b> { </b></p><p><b> this.a=a;<
17、/b></p><p><b> }</b></p><p> public void setB(double b)</p><p><b> { </b></p><p><b> this.b=b;</b></p><p><b&
18、gt; }</b></p><p> public void setC(double c)</p><p><b> { </b></p><p><b> this.c=c;</b></p><p><b> }</b></p><p
19、> Public double getRootOne() throws NoRealRootException,NoSquareEquationException</p><p><b> { </b></p><p><b> if(a!=0)</b></p><p><b> { <
20、;/b></p><p> double disk=b*b-4*a*c;</p><p> if(disk>=0)</p><p><b> { </b></p><p> root1=(-b+Math.sqrt(disk))/(2*a);</p><p><b>
21、 } </b></p><p><b> else</b></p><p><b> { </b></p><p> throw new NoRealRootException("沒(méi)有實(shí)根"); </p><p><b> }</b>&l
22、t;/p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> throw new NoRealRootException("不是二次方程"); </p><
23、p><b> }</b></p><p> return root1;</p><p><b> } </b></p><p> public double getRootTwo() throws NoRealRootException,NoSquareEquationException</p>
24、<p><b> { </b></p><p><b> if(a!=0)</b></p><p><b> { </b></p><p> double disk=b*b-4*a*c;</p><p> if(disk>=0)</p&
25、gt;<p><b> { </b></p><p> root2=(-b-Math.sqrt(disk))/(2*a);</p><p><b> } </b></p><p><b> else</b></p><p><b> { &l
26、t;/b></p><p> throw new NoRealRootException("沒(méi)有實(shí)根"); </p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p&g
27、t;<p><b> {</b></p><p> throw new NoRealRootException("不是二次方程"); </p><p><b> }</b></p><p> return root2;</p><p><b>
28、} </b></p><p><b> }</b></p><p> class NoRealRootException extends Exception</p><p><b> { </b></p><p> String message;</p><
29、p> NoRealRootException(String s)</p><p><b> { </b></p><p> message=s;</p><p><b> }</b></p><p> public String getMessage()</p>&
30、lt;p><b> { </b></p><p> return message;</p><p><b> }</b></p><p><b> }</b></p><p> class NoSquareEquationException extends
31、Exception</p><p><b> { </b></p><p> String message;</p><p> NoSquareEquationException(String s)</p><p><b> { </b></p><p> m
32、essage=s;</p><p><b> }</b></p><p> public String getMessage()</p><p><b> { </b></p><p> return message;</p><p><b> }&l
33、t;/b></p><p><b> }</b></p><p><b> /*</b></p><p> * EquationFrame.java</p><p><b> *</b></p><p><b> * 開(kāi)發(fā)者
34、:董雪</b></p><p><b> *</b></p><p> * 簡(jiǎn)介:計(jì)算器的圖形界面</p><p><b> *</b></p><p><b> */</b></p><p> import java.awt.*
35、;</p><p> import java.awt.event.*;</p><p> public class EquationFrame extends Frame implements ActionListener</p><p><b> { </b></p><p> SquareEquation
36、equation; //聲明變量</p><p> TextField textA,textB,textC; </p><p> TextArea showRoots; </p><p> Button controlButton; //聲明變量</p><p> public Equation
37、Frame()</p><p><b> { </b></p><p> equation=new SquareEquation(); //創(chuàng)建對(duì)象</p><p> textA=new TextField(8); </p><p> textB=new TextField(8);
38、 </p><p> textC=new TextField(8);</p><p> showRoots=new TextArea();</p><p> controlButton=new Button("確定");</p><p> Panel pNorth=new Panel(); //創(chuàng)建
39、對(duì)象</p><p> pNorth.add(new Label("二次項(xiàng)系數(shù):")); //添加標(biāo)簽到面板</p><p> pNorth.add(textA); //添加文本框到面板</p><p> pNorth.add(new Label("一次項(xiàng)系數(shù):"));</
40、p><p> pNorth.add(textB);</p><p> pNorth.add(new Label("常數(shù)項(xiàng)系數(shù):"));</p><p> pNorth.add(textC); </p><p> pNorth.add(controlButton); //添加按鈕到面板</p&
41、gt;<p> controlButton.addActionListener(this);; //當(dāng)前窗口作為controlButton的ActionEvent事件的監(jiān)視器</p><p> add(pNorth,BorderLayout.NORTH);//設(shè)置面板的布局方式為邊界布局</p><p> add(showRoots,BorderLayout.CE
42、NTER);</p><p> setBounds(100,100,630,160); //設(shè)置邊框大小</p><p> setVisible(true);//設(shè)置可見(jiàn)</p><p> validate();</p><p> addWindowListener(new WindowAdapter() //
43、內(nèi)部類(lèi):窗口適配器</p><p><b> { </b></p><p> public void windowClosing(WindowEvent e)</p><p><b> { </b></p><p> System.exit(0); //關(guān)閉窗口</p&g
44、t;<p><b> }</b></p><p><b> }</b></p><p><b> );</b></p><p><b> }</b></p><p> public void actionPerformed(Acti
45、onEvent e)</p><p><b> { </b></p><p> try{//異常處理</p><p> double a=Double.parseDouble(textA.getText()); //textA調(diào)用方法獲取其中的文本</p><p> double b=Double.
46、parseDouble(textB.getText()); //textB調(diào)用方法獲取其中的文本 </p><p> double c=Double.parseDouble(textC.getText()); // textC調(diào)用方法獲取其中的文本</p><p> equation.setA(a);//調(diào)用賦值</p><p> e
47、quation.setB(b);</p><p> equation.setC(c);</p><p> textA.setText(""+a);</p><p> textB.setText(""+b);</p><p> textC.setText(""+c);</
48、p><p> showRoots.append("\n 根:"+equation.getRootOne());</p><p> showRoots.append("\n 根:"+equation.getRootTwo()); </p><p><b> } </b></p><
49、p> catch(Exception ex)</p><p> { showRoots.append("\n"+ex+"\n");</p><p><b> }</b></p><p><b> }</b></p><p><b>
50、 }</b></p><p><b> /*</b></p><p> * EquationMainClass.java</p><p><b> *</b></p><p><b> * 開(kāi)發(fā)者:董雪</b></p><p>&l
51、t;b> *</b></p><p> * 簡(jiǎn)介:計(jì)算器的主類(lèi)</p><p><b> *</b></p><p><b> */</b></p><p> public class EquationMainClass</p><p> {
52、public static void main(String args[])</p><p> { EquationFrame frame=new EquationFrame();</p><p><b> }</b></p><p><b> }</b></p><p><b>
53、; 運(yùn)行結(jié)果</b></p><p> 1、不是一元二次方程:當(dāng)a=0時(shí),運(yùn)行結(jié)果如圖一所示。</p><p> 圖一. “不是一元二次方程”界面</p><p> 2、沒(méi)有實(shí)根:當(dāng)a!=0,disk=b*b-4*a*c<0時(shí),運(yùn)行結(jié)果如圖二所示。</p><p> 圖二. “沒(méi)有實(shí)根”界面</p>
54、<p><b> 3、有實(shí)根</b></p><p> (1)、當(dāng)a!=0,disk=0時(shí),只有一個(gè)二重根,運(yùn)行結(jié)果如圖三所示。</p><p> 圖三. “一個(gè)二重根”界面</p><p> ?。?)、當(dāng)a!=0,disk>0時(shí),有兩個(gè)實(shí)根,運(yùn)行結(jié)果如圖四所示。</p><p> 圖四.
55、“兩個(gè)不同實(shí)根”界面</p><p><b> 四、總結(jié)報(bào)告</b></p><p> Java程序設(shè)計(jì)是一門(mén)博大精深的課程,我們只上了一學(xué)期的Java課,盡管時(shí)間有限,但是Java中的知識(shí)是值得我們花費(fèi)更多的時(shí)間去學(xué)習(xí)的。通過(guò)這次的課程設(shè)計(jì),讓我真正明白了實(shí)踐在理工科學(xué)習(xí)中的重要性。也許只是一個(gè)初級(jí)基礎(chǔ)的小程序,但也運(yùn)用到了很多知識(shí)點(diǎn)。在Java中,整體思想也很
56、重要,每個(gè)部分怎么安排,都需要我們?nèi)プ屑?xì)思考后用最簡(jiǎn)潔明了的方式把他們表現(xiàn)出來(lái)。以后繼續(xù)學(xué)習(xí)……</p><p><b> 五、參考文獻(xiàn)</b></p><p> 《Java程序設(shè)計(jì)教程(第二版)》-----雍俊海</p><p> 《Java2 實(shí)用教程(第三版)·實(shí)驗(yàn)指導(dǎo)與習(xí)題解答》----耿祥義 張躍平</p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)----課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)報(bào)告-
- java課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)報(bào)告
- 考察非線性方程求根的試位法課程設(shè)計(jì)
- java課程設(shè)計(jì)報(bào)告--beatbox
- JAVA課程設(shè)計(jì)報(bào)告.doc
- java語(yǔ)言課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告--java日歷設(shè)計(jì)
- java課程設(shè)計(jì)報(bào)告---java實(shí)現(xiàn)畫(huà)筆系統(tǒng)
- java課程設(shè)計(jì)-猜數(shù)游戲課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)-蜘蛛紙牌游戲設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)報(bào)告——蜘蛛紙牌
- java課程設(shè)計(jì)--掃雷游戲報(bào)告
- java代購(gòu)網(wǎng)課程設(shè)計(jì)報(bào)告
- 數(shù)值分析課程設(shè)計(jì)----考察非線性方程求根的試位法
- java坦克大戰(zhàn)課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)報(bào)告---考試系統(tǒng)
- java課程設(shè)計(jì)報(bào)告--hannoi塔
評(píng)論
0/150
提交評(píng)論