版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計報告</b></p><p> ( Java程序設(shè)計 )</p><p> 設(shè)計題目 方程求根 </p><p> 年級專業(yè) 2010級計算機科學(xué)與技術(shù) </p><p> 學(xué)生姓名 <
2、;/p><p> 指導(dǎo)老師 </p><p> 2012年01月 </p><p> Java程序設(shè)計課程設(shè)計任務(wù)書</p><p> 計算機與信息工程 院系 計算機科學(xué)與技術(shù) 教研室</p><p> 2011年 12 月 1 日&
3、lt;/p><p><b> 目錄</b></p><p> 一、概要設(shè)計························
4、3;··················4-5</p><p><b> 1、設(shè)計內(nèi)容</b></p><p><b> 2、程序流程圖</b></p>
5、<p> 二、詳細(xì)設(shè)計·································
6、83;·········6-10</p><p><b> 1、Java類清單</b></p><p><b> 2、程序代碼</b></p><p> 三、運行結(jié)果·····&
7、#183;···································11-12
8、</p><p> 1、不是一元二次方程</p><p><b> 2、沒有實根</b></p><p><b> 3、有實根</b></p><p> 四、總結(jié)報告··········
9、83;································12</p><p>
10、五、參考文獻(xiàn)···································
11、3;·······12</p><p><b> 概要設(shè)計</b></p><p><b> 1、設(shè)計內(nèi)容</b></p><p> 首先編寫一個封裝一元二次方程的類,然后再編寫一個窗口。要求窗口使用三個文本框和一個文本區(qū),為方程對象中的數(shù)據(jù)提供視
12、圖,其中三個文本框用來顯示和更新方程對象的系數(shù);文本區(qū)對象用來顯示方程的根。窗口中有一個按鈕,用戶單擊該按鈕后,程序用文本框中的數(shù)據(jù)修改方程的系數(shù),并將方程的根顯示在文本區(qū)中。</p><p><b> 2、程序流程圖</b></p><p><b> 詳細(xì)設(shè)計</b></p><p><b> 1、Jav
13、a類清單</b></p><p> 本設(shè)計由3個類構(gòu)成。三個類如表一(Java類清單)所示:</p><p> 表一. Java類清單</p><p><b> 2、程序代碼</b></p><p> 名稱:一元二次方程求根</p><p> 時間:2012年1月6日<
14、;/p><p><b> /*</b></p><p> * SquareEquation.Java</p><p><b> *</b></p><p><b> * 開發(fā)者:董雪</b></p><p><b> *</b&
15、gt;</p><p> * 簡介:封裝一元二次方程</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("沒有實根"); </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("沒有實根"); </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> * 開發(fā)者
34、:董雪</b></p><p><b> *</b></p><p> * 簡介:計算器的圖形界面</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)建對象</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、對象</p><p> pNorth.add(new Label("二次項系數(shù):")); //添加標(biāo)簽到面板</p><p> pNorth.add(textA); //添加文本框到面板</p><p> pNorth.add(new Label("一次項系數(shù):"));</
40、p><p> pNorth.add(textB);</p><p> pNorth.add(new Label("常數(shù)項系數(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è)置可見</p><p> validate();</p><p> addWindowListener(new WindowAdapter() //
43、內(nè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> * 開發(fā)者:董雪</b></p><p>&l
51、t;b> *</b></p><p> * 簡介:計算器的主類</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、; 運行結(jié)果</b></p><p> 1、不是一元二次方程:當(dāng)a=0時,運行結(jié)果如圖一所示。</p><p> 圖一. “不是一元二次方程”界面</p><p> 2、沒有實根:當(dāng)a!=0,disk=b*b-4*a*c<0時,運行結(jié)果如圖二所示。</p><p> 圖二. “沒有實根”界面</p>
54、<p><b> 3、有實根</b></p><p> (1)、當(dāng)a!=0,disk=0時,只有一個二重根,運行結(jié)果如圖三所示。</p><p> 圖三. “一個二重根”界面</p><p> (2)、當(dāng)a!=0,disk>0時,有兩個實根,運行結(jié)果如圖四所示。</p><p> 圖四.
55、“兩個不同實根”界面</p><p><b> 四、總結(jié)報告</b></p><p> Java程序設(shè)計是一門博大精深的課程,我們只上了一學(xué)期的Java課,盡管時間有限,但是Java中的知識是值得我們花費更多的時間去學(xué)習(xí)的。通過這次的課程設(shè)計,讓我真正明白了實踐在理工科學(xué)習(xí)中的重要性。也許只是一個初級基礎(chǔ)的小程序,但也運用到了很多知識點。在Java中,整體思想也很
56、重要,每個部分怎么安排,都需要我們?nèi)プ屑?xì)思考后用最簡潔明了的方式把他們表現(xiàn)出來。以后繼續(xù)學(xué)習(xí)……</p><p><b> 五、參考文獻(xiàn)</b></p><p> 《Java程序設(shè)計教程(第二版)》-----雍俊海</p><p> 《Java2 實用教程(第三版)·實驗指導(dǎo)與習(xí)題解答》----耿祥義 張躍平</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è)計----課程設(shè)計報告
- java課程設(shè)計報告
- java課程設(shè)計報告-
- java課程設(shè)計報告
- java課程設(shè)計報告
- 考察非線性方程求根的試位法課程設(shè)計
- java課程設(shè)計報告--beatbox
- JAVA課程設(shè)計報告.doc
- java語言課程設(shè)計報告
- java課程設(shè)計實驗報告--java日歷設(shè)計
- java課程設(shè)計報告---java實現(xiàn)畫筆系統(tǒng)
- java課程設(shè)計-猜數(shù)游戲課程設(shè)計報告
- java課程設(shè)計-蜘蛛紙牌游戲設(shè)計課程設(shè)計報告
- java課程設(shè)計報告——蜘蛛紙牌
- java課程設(shè)計--掃雷游戲報告
- java代購網(wǎng)課程設(shè)計報告
- 數(shù)值分析課程設(shè)計----考察非線性方程求根的試位法
- java坦克大戰(zhàn)課程設(shè)計報告
- java課程設(shè)計報告---考試系統(tǒng)
- java課程設(shè)計報告--hannoi塔
評論
0/150
提交評論