java課程設(shè)計(jì)簡(jiǎn)易計(jì)算器_第1頁(yè)
java課程設(shè)計(jì)簡(jiǎn)易計(jì)算器_第2頁(yè)
java課程設(shè)計(jì)簡(jiǎn)易計(jì)算器_第3頁(yè)
java課程設(shè)計(jì)簡(jiǎn)易計(jì)算器_第4頁(yè)
java課程設(shè)計(jì)簡(jiǎn)易計(jì)算器_第5頁(yè)
已閱讀5頁(yè),還剩10頁(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é)與工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書 題 目: 簡(jiǎn)單計(jì)算器的設(shè)計(jì) 課程設(shè)計(jì)任務(wù)書及成績(jī)?cè)u(píng)定課程設(shè)計(jì)的任務(wù)和具體要求1.課程設(shè)計(jì)任務(wù):設(shè)計(jì)一個(gè)圖形界面(GUI)的計(jì)算器應(yīng)用程序,完成簡(jiǎn)單的算術(shù)運(yùn)算。通過(guò)對(duì)計(jì)算器的編輯來(lái)檢測(cè)和提升自己的java編程能力,并最終完成課程設(shè)計(jì)報(bào)告! 2.課程設(shè)計(jì)要求:(1)應(yīng)用自己所學(xué)課程知識(shí)完成對(duì)計(jì)算器的基本任務(wù)。(2)查閱相關(guān)資料,學(xué)習(xí)和掌握項(xiàng)目中涉及的新知識(shí),提高自學(xué)能力。(3)通過(guò)應(yīng)用java程序編寫計(jì)算器來(lái)提升自己對(duì)簡(jiǎn)單的圖形界面有一定的掌握和了解。 指導(dǎo)教師簽字: 日期: 指導(dǎo)教師評(píng)語(yǔ): 成績(jī): 指導(dǎo)教師簽字: 日期: 課程設(shè)計(jì)所需軟件、硬件等軟件

2、:eclipse硬件:計(jì)算機(jī)課 程 設(shè) 計(jì) 進(jìn) 度 計(jì) 劃起止日期 工作內(nèi)容 備注11-15至11-251.對(duì)簡(jiǎn)易計(jì)算器進(jìn)行設(shè)計(jì)思路分析,11-26至12-52.根據(jù)分析進(jìn)行詳細(xì)設(shè)計(jì),12-06至12-203.編譯程序,進(jìn)行調(diào)試,12-21至12-244.分析討論參考文獻(xiàn)、資料索引(序號(hào)、文獻(xiàn)名稱、編著者、出版單位)1 丁振凡. Java語(yǔ)言實(shí)用教程(第2版)M. 北京郵電大學(xué)出版社. 2008.1 2 丁振凡. Java語(yǔ)言實(shí)用教程實(shí)驗(yàn)指導(dǎo)(第2版)M. 北京郵電大學(xué)出版社. 2008.13 楊樹林等. Java語(yǔ)言最新實(shí)用案例教程(第2版)M. 清華大學(xué)出版社. 2010.7目錄一、 選題

3、的目的意義5二、 總體設(shè)計(jì)方案以及主要設(shè)計(jì)原理5三、 實(shí)現(xiàn)技術(shù)及源程序代碼6四、 測(cè)試及分析14五、 結(jié)束語(yǔ)(心得體會(huì)、改進(jìn)方向)15一、選題的目的意義1、進(jìn)一步掌握和理解java程序編程;2、進(jìn)一步掌握java語(yǔ)言的基本數(shù)據(jù)類型,熟悉定義變量和使用變量;3、理解java圖形用戶界面的基本工作原理和界面設(shè)計(jì);4、鞏固窗體的布局設(shè)計(jì);5、掌握窗體按鈕控件和文本控件對(duì)事件的響應(yīng);6、理解函數(shù)和方法的使用。二、總體設(shè)計(jì)方案以及主要設(shè)計(jì)原理1、需求分析設(shè)計(jì)的計(jì)算器可以完成加法、減法、乘法、除法的簡(jiǎn)單運(yùn)算及簡(jiǎn)單的函數(shù)運(yùn)算2、設(shè)計(jì)思路(1)界面設(shè)計(jì)(2)設(shè)計(jì)思路根據(jù)所設(shè)計(jì)出來(lái)的界面,首先要設(shè)計(jì)其GUI界面

4、,總體界面有一個(gè)文本框,24個(gè)按鈕.總體界面用BorderLayout布局,文本框放置在最NORTH,然后0到9以及+,-,*,/,.,-,sqrt,sin,cos,in,CE,=等按鈕放置到一個(gè)面板Panel中,完成界面設(shè)計(jì)。三、實(shí)現(xiàn)技術(shù)及源程序代碼import java.awt.*; import java.awt.event.*;public class Cal public static void main(String args) CalFrame f = new CalFrame(); class CalFrame extends Frame double d1, d2; int

5、op = -1; TextField tf; CalPanelL p1; CalPanelR p2; / Constructor CalFrame() super("Small Calculator");setLayout(new FlowLayout(FlowLayout.CENTER,8,10); setBackground(new Color(100,150,150); setForeground(Color.white); setResizable(false);setSize(300,200); tf = new TextField(22); tf.setEdit

6、able(false); tf.setBackground(new Color(108,118,103); tf.setForeground(Color.white); tf.setFont(new Font("Arial",Font.BOLD,16); add(tf); p1 = new CalPanelL(); p2 = new CalPanelR(); add(p1); add(p2); setVisible(true); addWindowListener(new Wclose(); / inner class:CalButton class CalButton e

7、xtends Button CalButton(String s) super(s); setBackground(Color.gray); / inner class: CalPanelL class CalPanelL extends Panel CalButton b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, bPN, bPoint; CalPanelL() setLayout(new GridLayout(4,3); setFont(new Font("TimesRoman",Font.BOLD,16); b0 = new CalB

8、utton("0"); b1 = new CalButton("1"); b2 = new CalButton("2"); b3 = new CalButton("3"); b4 = new CalButton("4"); b5 = new CalButton("5"); b6 = new CalButton("6"); b7 = new CalButton("7"); b8 = new CalButton("8")

9、; b9 = new CalButton("9"); bPN = new CalButton("+/-"); bPoint = new CalButton("."); / 加入按鈕 add(b7); b7.addActionListener(new PressB7(); add(b8); b8.addActionListener(new PressB8(); add(b9); b9.addActionListener(new PressB9(); add(b4); b4.addActionListener(new PressB4();

10、 add(b5); b5.addActionListener(new PressB5(); add(b6); b6.addActionListener(new PressB6(); add(b1); b1.addActionListener(new PressB1(); add(b2); b2.addActionListener(new PressB2(); add(b3); b3.addActionListener(new PressB3(); add(b0); b0.addActionListener(new PressB0(); add(bPN); bPN.addActionListen

11、er(new PressBPN(); ; add(bPoint); bPoint.addActionListener(new PressBPoint(); class CalPanelR extends Panel CalButton bAdd, bSub, bMul, bDiv, bSqrt, bSin, bCos, bYx, bLn, bEqual, bCE, bBack; CalPanelR() setLayout(new GridLayout(4,3); setFont(new Font("TimesRoman",Font.BOLD,16); bAdd = new

12、CalButton("+"); bSub = new CalButton("-"); bMul = new CalButton("*"); bDiv = new CalButton("/"); bSqrt = new CalButton("sqrt"); bSin = new CalButton("sin"); bCos = new CalButton("cos"); bYx = new CalButton("yx"); bLn = n

13、ew CalButton("ln"); bEqual = new CalButton("="); bCE = new CalButton("CE"); bBack = new CalButton("<-"); add(bDiv); bDiv.addActionListener(new PressBDiv(); add(bSqrt); bSqrt.addActionListener(new PressBSqrt(); add(bLn); bLn.addActionListener(new PressBLn();

14、 add(bMul); bMul.addActionListener(new PressBMul(); add(bSin); bSin.addActionListener(new PressBSin(); add(bBack); bBack.addActionListener(new PressBBack(); add(bSub); bSub.addActionListener(new PressBSub(); add(bCos); bCos.addActionListener(new PressBCos(); add(bCE); bCE.addActionListener(new Press

15、BCE(); add(bAdd); bAdd.addActionListener(new PressBAdd(); add(bYx); bYx.addActionListener(new PressBYx(); add(bEqual); bEqual.addActionListener(new PressBEqual(); class PressBAdd implements ActionListener public void actionPerformed(ActionEvent e) try d1 = Double.parseDouble(tf.getText(); op = 0; tf

16、.setText(""); catch(Exception ee) class PressBSub implements ActionListener public void actionPerformed(ActionEvent e) try d1 = Double.parseDouble(tf.getText(); op = 1; tf.setText(""); catch(Exception ee) class PressBMul implements ActionListener public void actionPerformed(Actio

17、nEvent e) try d1 = Double.parseDouble(tf.getText(); op = 2; tf.setText(""); catch(Exception ee) class PressBDiv implements ActionListener public void actionPerformed(ActionEvent e) try d1 = Double.parseDouble(tf.getText(); op = 3; tf.setText(""); catch(Exception ee) class PressBY

18、x implements ActionListener public void actionPerformed(ActionEvent e) try d1 = Double.parseDouble(tf.getText(); op = 4; tf.setText(""); catch(Exception ee) class PressBEqual implements ActionListener public void actionPerformed(ActionEvent e) try double result = 0; d2 = Double.parseDouble

19、(tf.getText(); switch(op) case 0: result = d1 + d2; break; case 1: result = d1 - d2; break; case 2: result = d1 * d2; break; case 3: result = d1 / d2; break; case 4: result = Math.pow(d1,d2); break; default: tf.setText(String.valueOf(result); catch(Exception ee) class PressBSqrt implements ActionLis

20、tener public void actionPerformed(ActionEvent e) try double x = Double.parseDouble(tf.getText(); double y; y = Math.sqrt(x); tf.setText(y+""); catch(Exception ee) class PressBLn implements ActionListener public void actionPerformed(ActionEvent e) try double x = Double.parseDouble(tf.getTex

21、t(); double y; y = Math.log(x); tf.setText(y+""); catch(Exception ee) class PressBSin implements ActionListener public void actionPerformed(ActionEvent e) try double x = Double.parseDouble(tf.getText(); double y; y = Math.sin(x); tf.setText(y+""); catch(Exception ee) class PressB

22、Cos implements ActionListener public void actionPerformed(ActionEvent e) try double x = Double.parseDouble(tf.getText(); double y; y = Math.cos(x); tf.setText(y+""); catch(Exception ee) class PressBBack implements ActionListener public void actionPerformed(ActionEvent e) try String text =

23、tf.getText(); text = text.substring(0,text.length()-1); tf.setText(text); catch(Exception ee) class PressBCE implements ActionListener public void actionPerformed(ActionEvent e) tf.setText(""); class PressBPN implements ActionListener public void actionPerformed(ActionEvent e) try String t

24、ext = tf.getText(); if (text != "") if(text.charAt(0) = '-') tf.setText(text.substring(1); else if(text.charAt(0) >= '0' && text.charAt(0) <= '9') tf.setText("-"+text.substring(0); else if(text.charAt(0) = '.') tf.setText("-0&quo

25、t;+text.substring(0); catch(Exception ee) class PressBPoint implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); if(text.lastIndexOf(".") = -1) tf.setText(text+"."); class PressB0 implements ActionListener public void actionPerformed(Ac

26、tionEvent e) String text = tf.getText(); tf.setText(text+"0"); class PressB1 implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); tf.setText(text+"1"); class PressB2 implements ActionListener public void actionPerformed(ActionEvent e) S

27、tring text = tf.getText(); tf.setText(text+"2"); class PressB3 implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); tf.setText(text+"3"); class PressB4 implements ActionListener public void actionPerformed(ActionEvent e) String text = t

28、f.getText(); tf.setText(text+"4"); class PressB5 implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); tf.setText(text+"5"); class PressB6 implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); tf.setText(text+"6&

溫馨提示

  • 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)論