java課程設(shè)計(jì)報(bào)告_第1頁(yè)
java課程設(shè)計(jì)報(bào)告_第2頁(yè)
java課程設(shè)計(jì)報(bào)告_第3頁(yè)
java課程設(shè)計(jì)報(bào)告_第4頁(yè)
java課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、淮海 工學(xué)院 計(jì)算機(jī)工程學(xué)院課程設(shè)計(jì)報(bào)告設(shè)計(jì)名稱: 面向?qū)ο笳n程設(shè)計(jì)選題名稱:計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)姓 名: 陳瑤 學(xué) 號(hào):2015123226專業(yè)班級(jí):網(wǎng)絡(luò)151系(院): 計(jì)算機(jī)工程學(xué)院設(shè)計(jì)時(shí)間: 2016.11.282016.12.10設(shè)計(jì)地點(diǎn):軟件實(shí)驗(yàn)室、教室成績(jī):指導(dǎo)教師評(píng)語(yǔ):簽名:1 .課程設(shè)計(jì)目的面向?qū)ο蟪绦蛟O(shè)計(jì)是一門(mén)實(shí)踐性很強(qiáng)的計(jì)算機(jī)專業(yè)基礎(chǔ)課程,課程設(shè)計(jì)是學(xué)習(xí)完該課程后進(jìn)行的一次較全面的綜合練習(xí)。其目的在于通過(guò)實(shí)踐加深學(xué)生對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)的理論、方法和基礎(chǔ)知識(shí)的理解,掌握使用 Java語(yǔ)言進(jìn)行面向?qū)ο笤O(shè)計(jì)的基本方法,提高運(yùn)用面向?qū)ο笾R(shí)分 析實(shí)際問(wèn)題、解決實(shí)際問(wèn)題的能力。同時(shí)復(fù)

2、習(xí)本學(xué)期所學(xué)的知識(shí)以及運(yùn)用于實(shí)踐中去,將基本知識(shí)點(diǎn)進(jìn)行穩(wěn)定,使之更加熟悉知識(shí)點(diǎn)。通過(guò)本次學(xué)習(xí)了解以下的內(nèi)容:1)、類、包、接口的定義與使用2)、Java常用的標(biāo)準(zhǔn) GUI組件及事件處理2 .課程設(shè)計(jì)任務(wù)與要求:設(shè)計(jì)一個(gè)能實(shí)現(xiàn)計(jì)算器功能的Java程序,可以進(jìn)行加、減、乘、除(另外可適當(dāng)加 上階乘、正弦、余弦和指數(shù))運(yùn)算。中間可以加入一些自己的想法,比如界面如何設(shè)計(jì)出一些特色,算法的實(shí)現(xiàn)是否可 以加入自己的想法,以上種種各樣的想法以及構(gòu)思。Java中提供了大量的類有一些問(wèn)題的解決方法根本不用自己去從新定義,前人已經(jīng)栽好了樹(shù)我們只需要直接拿過(guò)來(lái)用就好 了,所以對(duì)于一些你想解決但覺(jué)得自己又解決不了的問(wèn)

3、題,可以上網(wǎng)上查查有沒(méi)有類似 的已經(jīng)有現(xiàn)成的函數(shù)拿過(guò)來(lái)用用。3.課程設(shè)計(jì)說(shuō)明書(shū)、需求分析計(jì)算器大家都不陌生,使用量也是非常的大,所以一款操作方便結(jié)構(gòu)豐富的計(jì)算器是非 常有必要的,所以我們?cè)谶@里設(shè)計(jì)出一款適合大眾的計(jì)算器。輸入一個(gè)數(shù)Display。方法顯讀入下一個(gè)符Math. cos()Math.Math.sin()pow()Funjiecheng()Display。方法顯示二、概要設(shè)計(jì)Calculator類用來(lái)實(shí)現(xiàn)所要應(yīng)用的各種功能:Calculator extends JFrame'<<Interface>>一一 聲 11!ActionListener1* _

4、pnll: JPanel pnl2: JPanel textfild: JTextField grd: GridLayout b0: JButton b1 :JButton b2: JButton b3: JButton b4: JButton b5 :JButton b6: JButton b7: JButton b8: JButton b9: JButton bp: JButton bd: JButton badd:JButton bsub:JButton bmul: :JButton bdiv:JButton bcos: :JButton bsin:JButton bjiecheng:J

5、Button bpow:JButton beql:JButton bclear:JButton num1:double num2:double end:boolean add: boolean sub: boolean mul: boolean div: boolean cos: boolean sin: boolean jiecheng : boolean pow: boolean面向?qū)ο笳n程設(shè)計(jì)報(bào)告第5頁(yè),共 24頁(yè)Calculator。Funjiecheng()actionPerformend(ActionEvent e)Display(int i)加上代碼:public class C

6、alculator extends JFrame implements ActionListenerJMenuBar mb;JMenu menu;JMenuItem t,t1,t2;JPanel pnl1,pnl2;JTextField textfild;GridLayout grd;JButton b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,bp,bd;JButton badd,bsub,bmul,bdiv,bcos,bsin,bjiecheng,bpow,beql,bclear;String str;boolean end,add,sub,mul,div,cos,sin,j

7、iecheng,pow;double num1,num2;Calculator。public void actionPerformed(ActionEvent e)else if(e.getSource()=bsub)else if(e.getSource()=bmul)else if (e.getSource()=bdiv)else if(e.getSource()=bcos)end=true;解俞入結(jié)束else if(e.getSource()=bsin)else if(e.getSource()=bjiecheng)else if(e.getSource()=bpow)else if(e

8、.getSource()=bclear)bd.setEnabled(true);textfild.setText("0");else if(e.getSource()=bd)str=textfild.getText();str+="."texfild.setText(str);bd.setEnabled(false);else if(e.getSource()=beql)bd.setEnabled(true);num2=Double.parseDouble(texfild.getText();/數(shù)字類型轉(zhuǎn)化 if(add)num1=num1+num2;e

9、lse if(sub)num1=num1-num2;else if(mul)num1=num1*num2;else if(div)if(num2=0) textfild.setText("輸入非法!"); return;num1=num1/num2;else if(cos)num1=Math.cos(num1);else if(sin)num1=Math.sin(num1);else if(jiecheng)num1=funjiecheng(num1);else if(pow)num1=Math.pow(num1,num2);/調(diào)用庫(kù)函數(shù)中的 pow 方法texfild.s

10、etText(String.valueOf(num1);把所得結(jié)果顯示在文本框 end=true;public double funjiecheng(double i)double num=1;if(i=0|i=1)num=1;elsenum=num*funjiecheng(i-1);return num;public void Display(int i)String s=null;s=String.valueOf(i);if(end)/如果數(shù)字輸入結(jié)束,則將文本框置零,重新輸入texfild.setText("0");end=false;if(tex帕ld.getTex

11、t().equals("0")/如果文本框的內(nèi)容為零,則覆蓋文本框的內(nèi)容textfild.setText(s); elsestr=textfild.getText()+s;textfild.setText(str);Text類是對(duì)Calculator類的詳細(xì)實(shí)現(xiàn)及其測(cè)試:Text main(String a)public class Textpublic static void main(String a)new Calculator。;三、詳細(xì)設(shè)計(jì)加上代碼:import java.awt*;import java.awt.event.*;import javax.swin

12、g.*;public class Calculator extends JFrame implements ActionListenerJMenuBar mb;JMenu menu;JMenuItem t,t1,t2;JPanel pnl1,pnl2;JTextField textfild;GridLayout grd;JButton b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,bp,bd;JButton badd,bsub,bmul,bdiv,bcos,bsin,bjiecheng,bpow,beql,bclear;String str;boolean end,add,sub

13、,mul,div,cos,sin,jiecheng,pow;double num1,num2;Calculator。super("簡(jiǎn)單的計(jì)算器”);grd=new GridLayout(6,4,6,6);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);pnl1=new JPanel(grd);pnl2=new JPanel(grd);Container cp=this.getContentPane();姓意 getContentPanecp.add(pnl1,"North");cp.add(pnl2,&quo

14、t;Center");pnl1.setBackground(Color.orange);面向?qū)ο笳n程設(shè)計(jì)報(bào)告第11頁(yè),共 24頁(yè)pnl2.setBackground(Color.green);this.setBounds(400,500,450,240);textfild=new JTextField("0",33);textfild.setHorizontalAlignment(JTextField.CENTER);mb=new JMenuBar();menu=new JMenu('說(shuō)明書(shū)");t=new JMenuItem("此計(jì)算

15、器使用方便,可以實(shí)現(xiàn)連續(xù)不同優(yōu)先級(jí)的運(yùn)算。當(dāng)進(jìn) 行一次運(yùn)算后,");t1=new JMenuItem("再點(diǎn)擊數(shù)字按鈕則開(kāi)始新一輪的運(yùn)算,如果在是運(yùn)算后直接 點(diǎn)運(yùn)算符號(hào)(加減等)");t2=new JMenuItem("則會(huì)直接繼續(xù)上次的結(jié)果進(jìn)行運(yùn)算。");menu.add(t);menu.add(t1);menu.add(t2);mb.add(menu);b0=new JButton("0");b1=new JButton('T);b2=new JButton("2");b3=new JButt

16、on("3");b4=new JButton("4");b5=new JButton("5");b6=new JButton("6");b7=new JButton("7");b8=new JButton("8");b9=new JButton("9");bd=new JButton(".");bdiv=new JButton(" +");bdiv.setForeground(Color.red);bmul=new

17、JButton(" x");bmul.setForeground(Color.red);badd=new JButton("+");badd.setForeground(Color.red);bsub=new JButton("-");bsub.setForeground(Color.red);bcos=new JButton("Cos");bcos.setForeground(Color.blue);bsin=new JButton("Sin");bsin.setForeground(Colo

18、r.blue);bjiecheng=new JButton("n!");bjiecheng.setForeground(Color.blue);bclear=new JButton("C");bpow=new JButton("xAy");bpow.setForeground(Color.blue);beql=new JButton("=");pnll.add(mb);pnll.add(textfild);pnl2.add(b9);b9.addActionListener(this);pnl2.add(b8);b8

19、.addActionListener(this);pnl2.add(b7);b7.addActionListener(this);pnl2.add(bdiv);bdiv.addActionListener(this);pnl2.add(b6);b6.addActionListener(this);pnl2.add(b5);b5.addActionListener(this);pnl2.add(b4);b4.addActionListener(this);pnl2.add(bmul);bmul.addActionListener(this);pnl2.add(b3);b3.addActionLi

20、stener(this);pnl2.add(b2);b2.addActionListener(this);pnl2.add(b1);bl.addActionListener(this);pnl2.add(badd);badd.addActionListener(this);pnl2.add(bsub);bsub.addActionListener(this);pnl2.add(b0);bO.addActionListener(this);pnl2.add(bd);bd.addActionListener(this);pnl2.add(bjiecheng);bjiecheng.addAction

21、Listener(this);pnl2.add(badd);badd.addActionListener(this);pnl2.add(bsin);bsin.addActionListener(this);pnl2.add(bcos);bcos.addActionListener(this);pnl2.add(bpow);bpow.addActionListener(this);pnl2.add(bclear);bclear.addActionListener(this);pnl2.add(beql);beql.addActionListener(this);this.setVisible(t

22、rue);public void actionPerformed(ActionEvent e)if(e.getSource()=b0)Display(0);else if(e.getSource()=b1)Display(1);else if(e.getSource()=b2)Display(2);else if(e.getSource()=b3)Display(3);else if(e.getSource()=b4)Display(4);else if(e.getSource()=b5)Display(5);else if(e.getSource()=b6)Display(6);else i

23、f(e.getSource()=b7)Display(7);else if(e.getSource()=b8)Display(8);else if(e.getSource()=b9)Display(9);else if(e.getSource()=badd)add=true;sub=false;mul=false;div=false;cos=false;sin=false;jiecheng=false;pow=false;bd.setEnabled(true);num1=Double.parseDouble(texfild.getText();接收第一個(gè)字符并轉(zhuǎn)化成double 型end=tr

24、ue;解俞入結(jié)束else if(e.getSource()=bsub)add=false;sub=true;mul=false;div=false;cos=false;sin=false;jiecheng=false;pow=false;bd.setEnabled(true);num1=Double.parseDouble(texfild.getText();接收第一個(gè)字符并轉(zhuǎn)化成double 型end=true;解俞入結(jié)束else if(e.getSource()=bmul)add=false;sub=false;mul=true;div=false;cos=false;sin=false;

25、jiecheng=false;pow=false;bd.setEnabled(true);num1=Double.parseDouble(texfild.getText();接收第一個(gè)字符并轉(zhuǎn)化成double 型end=true;解俞入結(jié)束else if (e.getSource()=bdiv)add=false;sub=false;mul=false;div=true;cos=false;sin=false;jiecheng=false;pow=false;num1=Double.parseDouble(texfild.getText();接收第一個(gè)字符并轉(zhuǎn)化成double 型end=tru

26、e;解俞入結(jié)束else if(e.getSource()=bcos)add=false;sub=false;mul=false;div=false;cos=true;sin=false;jiecheng=false;pow=false;bd.setEnabled(true);num1=Double.parseDouble(texfild.getText();接收第一個(gè)字符并轉(zhuǎn)化成double 型end=true;解俞入結(jié)束else if(e.getSource()=bsin)add=false;sub=false;mul=false;div=false;cos=false;sin=true;j

27、iecheng=false;pow=false;bd.setEnabled(true);num1=Double.parseDouble(texfild.getText();接收第一個(gè)字符并轉(zhuǎn)化成double 型end=true;解俞入結(jié)束else if(e.getSource()=bjiecheng)add=false;sub=false;mul=false;div=false;cos=false;sin=false;jiecheng=true;pow=false;bd.setEnabled(true);num1=Double.parseDouble(texfild.getText();接收第

28、一個(gè)字符并轉(zhuǎn)化成 double 型end=true;解俞入結(jié)束else if(e.getSource()=bpow)add=false;sub=false;mul=false;div=false;cos=false;sin=false;jiecheng=false;pow=true;bd.setEnabled(true);num1=Double.parseDouble(texfild.getText();接收第一個(gè)字符并轉(zhuǎn)化成 doubleend=true;解俞入結(jié)束else if(e.getSource()=bclear)bd.setEnabled(true);textfild.setTex

29、t("0");else if(e.getSource()=bd)str=textfild.getText();str+="."textfild.setText(str);bd.setEnabled(false);else if(e.getSource()=beql)bd.setEnabled(true);num2=Double.parseDouble(texfild.getText();/數(shù)字類型轉(zhuǎn)化 if(add)num1=num1+num2;else if(sub)num1=num1-num2;else if(mul)num1=num1*num2;else if(div)if(num2=0) textfild.setText("輸入非法!"); return;num1=num1/num2;else if(cos)num1=Math.cos(num1);else if(sin)num1=Math.sin(num1);else if(jiecheng)num1=funjiecheng(num1);else if(pow)num

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論