編寫一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告范例_第1頁(yè)
編寫一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告范例_第2頁(yè)
編寫一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告范例_第3頁(yè)
編寫一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告范例_第4頁(yè)
編寫一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告范例_第5頁(yè)
已閱讀5頁(yè),還剩15頁(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é)號(hào)2016-2017學(xué)年 第二學(xué)期金融IT入門-程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告質(zhì)大學(xué)長(zhǎng)XX系月3日概述:目標(biāo):流程圖:中國(guó)地A*,、 題目:用Python編寫簡(jiǎn)易計(jì)算器程序 城學(xué)院-2017年 學(xué)號(hào) :3錄 專業(yè) :班級(jí):二.設(shè)計(jì)三.程序 姓名:四.程序 指導(dǎo)教師:代碼:五.設(shè)計(jì)體會(huì):評(píng)分細(xì)則評(píng)分項(xiàng)良好中等差上課出勤上課表現(xiàn)上機(jī)情況平時(shí)作業(yè)完成情況期末大作業(yè):(1)書(shū)寫認(rèn)真程度(2)內(nèi)容詳實(shí)程度(3)文字表達(dá)能力(4)是否體現(xiàn)觀點(diǎn)簡(jiǎn)短教師簽名:年月日評(píng)分等級(jí)備注評(píng)分等級(jí)后五種:優(yōu)秀、良好、中等、及格、不及格評(píng)語(yǔ)1、 設(shè)計(jì)內(nèi)容2 -1. 課程設(shè)計(jì)目的:2 -2. 課程設(shè)計(jì)任務(wù):?2 -3. 創(chuàng)新要求:2

2、 -4. 設(shè)計(jì)要求: 2 -2、 原理與分析3 -1. 開(kāi)發(fā)的技術(shù)及功能3 -2. 設(shè)計(jì)思路3 -3. 設(shè)計(jì)效果圖3 -3、 設(shè)計(jì)過(guò)程3 -1. 程序思路:3 -2. 功能實(shí)現(xiàn):4 -1)加減乘除求余以及指數(shù)運(yùn)算4 -2) 其他運(yùn)算4 -3) 主要方法說(shuō)明5 -4) 程序流程圖6 -3. 算法思路:7 -4. 數(shù)據(jù)分析:8 -四、設(shè)計(jì)結(jié)果與分析8 -1. 丁調(diào) 15 8 -1)進(jìn)行加減乘除求余以及指數(shù)運(yùn)算8 -2) 求倒 9 -3) 退格 9 -4) 清零 9 -5) 求余弦、求正切、對(duì)e 求冪、求平方根、求自然對(duì)數(shù)、求倒運(yùn)算 9 -6)連續(xù)運(yùn)算(例:2*3*4=24.0 ) 9 -7) 異常

3、處理(例:求倒時(shí)輸入數(shù)為0) 9 -5、 設(shè)計(jì)體會(huì)與小結(jié)9 -6、 參考文獻(xiàn)10 -7、 源程序 10 -一、設(shè)計(jì)內(nèi)容1. 課程設(shè)計(jì)目的:1 ) 掌握 Java 語(yǔ)言的程序設(shè)計(jì)方法;2 ) 理論聯(lián)系實(shí)際,進(jìn)一步提高學(xué)生的軟件開(kāi)發(fā)技術(shù);3 ) 培養(yǎng)學(xué)生分析、解決問(wèn)題的能力;4 ) 提高學(xué)生實(shí)踐論文撰寫能力。2. 課程設(shè)計(jì)任務(wù):?1)設(shè)計(jì)的計(jì)算器應(yīng)用程序可以完成加法、減法、 乘法、 除法以及取余運(yùn)算(可以進(jìn)行浮點(diǎn)數(shù)和負(fù)數(shù)的運(yùn)算);2) 有求倒數(shù)、退格和清零功能。3. 創(chuàng)新要求:能進(jìn)行正切、余弦,以及求平方根、指數(shù)(包括對(duì)e) 、自然對(duì)數(shù)運(yùn)算。圖形界面采用繼承windowadapter 類,采取調(diào)用

4、類方法來(lái)注冊(cè)監(jiān)聽(tīng)!4. 設(shè)計(jì)要求:1) 設(shè)計(jì)的計(jì)算器應(yīng)用程序可以完成加法、減法、乘法、除法和取余運(yùn)算。且有小數(shù)點(diǎn)、正負(fù)號(hào)、求倒數(shù)、退格和清零功能。2)課程設(shè)計(jì)可選用Eclipse、JBuilder、NetBeans等作為開(kāi)發(fā)平臺(tái)以提高開(kāi)發(fā)效率,通過(guò)資料查閱和學(xué)習(xí)盡可能熟練掌握其中一種集成開(kāi)發(fā)環(huán)境。3 ) 認(rèn)真按時(shí)完成課程設(shè)計(jì)報(bào)告,課程設(shè)計(jì)報(bào)告內(nèi)容包括:設(shè)計(jì)任務(wù)與要求、需求分析、設(shè)計(jì)思路、詳細(xì)設(shè)計(jì)、運(yùn)行調(diào)試與分析討論和設(shè)計(jì)體會(huì)與小結(jié)六個(gè)部分。二、原理與分析1. 開(kāi)發(fā)的技術(shù)及功能本課程設(shè)計(jì)是要做一個(gè)圖形界面的計(jì)算器,其界面主要是由swing 組件中的控件構(gòu)成。程序?qū)崿F(xiàn)了計(jì)算器的基本功能有:加、減、

5、乘、除基本算術(shù)運(yùn)算(可以進(jìn)行浮點(diǎn)和負(fù)數(shù)運(yùn)算)和sin 、 cos、 tan 等三角函數(shù)求值運(yùn)算,同時(shí)能進(jìn)行指數(shù)運(yùn)算和自然對(duì)數(shù)運(yùn)算,還有求倒數(shù)、退格和清零功能。2. 設(shè)計(jì)思路設(shè)計(jì)這個(gè)計(jì)算器主要是參考Windows操作系統(tǒng)中自帶的計(jì)算器,由于編者水平和時(shí)間的限制,不能將計(jì)算器設(shè)計(jì)到科學(xué)型及其他更復(fù)雜的類型,在設(shè)計(jì)過(guò)程中還參考了一些其他的優(yōu)秀設(shè)計(jì)。但本計(jì)算器除了常用的加減乘除(可以進(jìn)行浮點(diǎn)和負(fù)數(shù)運(yùn)算)這些基本運(yùn)算外,還有求余、求倒、退格、清零,甚至還能進(jìn)行一些復(fù)雜科學(xué)的運(yùn)算,比如余弦(cos) 、正切( tan ) 、指數(shù)運(yùn)算(pow) 、自然對(duì)數(shù)運(yùn)算( log ) 、求平方根(sqrt )以及對(duì)e

6、 的指數(shù)運(yùn)算(exp) ,并且還能進(jìn)行連續(xù)運(yùn)算??傮w上說(shuō)來(lái),本計(jì)算器設(shè)計(jì)簡(jiǎn)單,代碼很少,程序很小,但功能卻很強(qiáng)大,這是同類計(jì)算器所不具備的。3. 設(shè)計(jì)效果圖設(shè)計(jì)時(shí)先在設(shè)計(jì)界面中添加按鈕等控件,后在按鈕的actionPerformed 事件中添加代碼完成其功能其中調(diào)用了Java 類中的 Math 函數(shù)庫(kù)以及各種字符串操作。設(shè)計(jì)的界面如下:圖一計(jì)算器運(yùn)行界面三、設(shè)計(jì)過(guò)程1) 程序思路:1) 本應(yīng)用程序繼承自框架類(JFrame) ,容器Container c 采用 BorderLayout邊緣布局,將單行文本框加入到“North ”區(qū)域,包含各種按鈕的面板 JPanel p加入到" Ce

7、nter”區(qū)域。包含各種按鈕的面板 JPanel p采用3行6列的網(wǎng)格布局, 然后將數(shù)字按鈕和運(yùn)算符按鈕以及控制按鈕用一個(gè)for 循環(huán)添加到面板中同時(shí)注冊(cè)按鈕事件監(jiān)聽(tīng)器。如:Button b=new Button();b.addActionListener( 事件監(jiān)聽(tīng)器) ;2) 事件監(jiān)聽(tīng)器中的事件處理方法void actionPerformed(ActionEvent evt) 完成主要的按鈕事件的處理。事件處理分以下幾種情況:數(shù)字按鈕事件(“ 0“,” 1”,” 2“ “ 8“,“ 9")、運(yùn)算符按鈕事件(“+“,” “, ” *”, ” / ”, ” %”) 、 正負(fù)號(hào)按鈕事件

8、(”+/- “) 、 小數(shù)點(diǎn)按鈕事件(”. ”) 、等號(hào)按鈕事件(”=")、求倒按鈕事件(“求倒”)、退格按鈕事件(“退格”)、 清除按鈕事件( “ C” ) 、正切( tan ) 、余弦(cos) ,以及求平方根(sqrt ) 、指數(shù) ( pow) 、對(duì)e 的指數(shù)(exp) 、對(duì)數(shù)運(yùn)算(log ) 。3) 在事件處理,觸發(fā)按鈕事件時(shí),先判斷是或是數(shù)字是或是“ -/+ ” 是或是 “ . ”,是的話就將負(fù)號(hào)« -、數(shù)字、小數(shù)點(diǎn)”.”分別寫入文本框并存放在sum中, 然后判斷是或是“退格”、 “求倒”等,是的話進(jìn)行相應(yīng)的處理,都不是的話則跳到 doOperation() 執(zhí)行

9、運(yùn)算同時(shí)將運(yùn)算符存放在preOperater 中。 觸發(fā)按鈕事件時(shí), 要進(jìn)一步分析,是重新開(kāi)始計(jì)算時(shí)觸發(fā)的按鈕事件還是計(jì)算中間觸發(fā)的按鈕事件。4) 計(jì)算器完成的是一個(gè)數(shù)學(xué)表達(dá)式,如:3 2,所以可以采用一個(gè)數(shù)組來(lái)存儲(chǔ)數(shù)字或字符,如3,2 分別存儲(chǔ)在數(shù)組中,最后運(yùn)算時(shí),可以一一取出來(lái)進(jìn)行運(yùn)算。5) 利用按鈕設(shè)計(jì)計(jì)算器的各個(gè)運(yùn)算符和操作符,通過(guò)按鈕的事件處理實(shí)現(xiàn)按鈕 計(jì)算功能。6) 利用文本框顯示操作數(shù)和運(yùn)算結(jié)果。2) 功能實(shí)現(xiàn):1)加減乘除求余以及指數(shù)運(yùn)算void doOperation()double m=Double.parseDouble(x.getText();if(preOperate

10、r.equals("") sum=m; / 無(wú)前一操作,結(jié)果為剛輸入數(shù)/ 將結(jié)果與文本框中的數(shù)據(jù)按照前一個(gè)運(yùn)算符運(yùn)算if(preOperater.equals("+") sum=sum+m; / 加法運(yùn)算if(preOperater.equals("-") sum=sum-m; /減法運(yùn)算if(preOperater.equals("*") sum=sum*m; /乘法運(yùn)算if(preOperater.equals("/") sum=sum/m; /除法運(yùn)算if(preOperater.equa

11、ls("%") sum=sum%m; /求余if(preOperater.equals("pow") sum=Math.pow(sum, m); / 求冪,指數(shù)運(yùn) 算3) 其他運(yùn)算I、求平方根Void sqrt ()double m=Double.parseDouble(x.getText();if (m<0)x.setText(" 負(fù)數(shù)不能開(kāi)根號(hào)");elsex.setText(""+Math.sqrt(m);H、對(duì)數(shù)運(yùn)算Void log ()double m=Double.parseDouble(x.ge

12、tText();if (m<0)x.setText(" 負(fù)數(shù)不能進(jìn)行自然對(duì)數(shù)運(yùn)");elsex.setText(""+Math.log(m);田、余弦運(yùn)算Void cos ()double m=Double.parseDouble(x.getText();x.setText(""+Math.cos(m);IV、正切運(yùn)算Void tan ()double m=Double.parseDouble(x.getText();x.setText(""+Math.tan(m);V、e的指數(shù)運(yùn)算Void exp ()do

13、uble m=Double.parseDouble(x.getText();x.setText(""+Math.exp(m);VI、倒數(shù)運(yùn)算Void daoshu ()if (Double.parseDouble(x.getText()=0) x.setText(" 除數(shù)不能為零");elsex.setText(""+1/(Double.parseDouble(x.getText(); preOperater=""4) 主要方法說(shuō)明public cos(double x)/ 求 x 的余弦函數(shù)public tan

14、(double x)/ 求 x 的正切函數(shù)public sqrt(double x) public log (double x) public exp (double x) public pow (double a public daoshu (double x) 4) 程序流程圖/求x 的平方根/求x 的自然對(duì)數(shù)運(yùn)算/求e 的x 次冪double b) / 求 a 的 b 次冪/ 求 x 的倒數(shù)3. 算法思路:這是一個(gè)簡(jiǎn)單的計(jì)算器,里面所涉及到的功能就是加、減、乘、除、開(kāi)方運(yùn)算、 等基本功能。僅須定義兩個(gè)變量來(lái)保存雙運(yùn)算操作的前一個(gè)數(shù)和當(dāng)前在計(jì)算器上顯示的數(shù)字即可,而對(duì)于單運(yùn)算的操作要求更加

15、簡(jiǎn)單,只需要一個(gè)變量就可以了。當(dāng)然對(duì)數(shù)據(jù)進(jìn)行判斷是必不可少的。在輸入數(shù)據(jù)之后 Character.isDigit(Command.charAt(0) 判斷輸入的數(shù)據(jù)是否符合要求。不符合要求給出提示,符合要求以后將判斷點(diǎn)擊的運(yùn)算符,執(zhí)行相應(yīng)的操作。對(duì)于單運(yùn)算操作要進(jìn)一步判斷是否符合要求,如果是就進(jìn)入下步計(jì)算,如果不是就彈出相應(yīng)的提示:“負(fù)數(shù)不能開(kāi)根號(hào)""除數(shù)不能為零”;用try.catch捕獲異常 , 如果有異常則中止活動(dòng)。在進(jìn)行開(kāi)方(sqrt )運(yùn)算時(shí),如果輸入數(shù)為負(fù)數(shù),則彈出"負(fù)數(shù)不能開(kāi)根號(hào)",中止運(yùn)算。在進(jìn)行自然對(duì)數(shù)運(yùn)算時(shí)(log )如果輸入數(shù)為負(fù)數(shù)

16、,則彈出 "負(fù)數(shù)不能進(jìn)行自然對(duì)數(shù)運(yùn)算”。 在進(jìn)行三角函數(shù)運(yùn)算時(shí)( cos、 tan )不必考慮輸入的數(shù)字是否符合規(guī)范,對(duì)于任意輸入的數(shù)函數(shù)本身有一個(gè)判斷的過(guò)程,都能把輸入的數(shù)轉(zhuǎn)化為合適的范圍,進(jìn)而得到正確的結(jié)果。對(duì)于加減乘除等雙運(yùn)算操作,每個(gè)功能都由每一個(gè)模塊來(lái)實(shí)現(xiàn),當(dāng)按下加按鈕時(shí),進(jìn)行相應(yīng)的加法操作,這一塊對(duì)相應(yīng)的操作數(shù)沒(méi)有要求;當(dāng)點(diǎn)擊減號(hào)時(shí),則進(jìn)行減法操作,由 jTextField.getText() 得到數(shù)字按鈕的值顯示在相應(yīng)的文本框中;乘法操作在點(diǎn)擊一個(gè)操作數(shù)然后點(diǎn)擊乘號(hào)再點(diǎn)擊另一個(gè)時(shí)得出相應(yīng)的結(jié)果顯示在文本框中;在作除法運(yùn)算時(shí),當(dāng)被除數(shù)點(diǎn)擊為零時(shí),調(diào)用 catch 進(jìn)行異常

17、處理,彈出“ Infinity ”。4. 數(shù)據(jù)分析:在事件處理,觸發(fā)按鈕事件時(shí),先判斷是或是數(shù)字是或是“ -/+ ” 是或是 “ . ”,是的話就將負(fù)號(hào)“-"、數(shù)字、小數(shù)點(diǎn)”.”分別寫入文本框并存放在sum中,然后判斷是或是“退格”、 “求倒”等,是的話進(jìn)行相應(yīng)的處理,都不是的話則跳到 doOperation() 執(zhí)行運(yùn)算同時(shí)將運(yùn)算符存放在preOperater 中。 觸發(fā)按鈕事件時(shí), 要進(jìn)一步分析,是重新開(kāi)始計(jì)算時(shí)觸發(fā)的按鈕事件還是計(jì)算中間觸發(fā)的按鈕事件。四、設(shè)計(jì)結(jié)果與分析1) 運(yùn)行調(diào)試1)進(jìn)行加減乘除求余以及指數(shù)運(yùn)算帶負(fù)數(shù)的浮點(diǎn)加法運(yùn)算(例:-1.2+4=2.8 )依次按“ +/

18、- ”(也可以最后按), “ 1.2” , “ +”, “ 4”鍵按下“+”鍵按下“4”鍵按下“=”鍵分析:輸出的結(jié)果如圖所示,計(jì)算器可以直接輸入“- ”,計(jì)算比較簡(jiǎn)便,帶負(fù)號(hào)的浮點(diǎn)數(shù)加法做起來(lái)沒(méi)有問(wèn)題。2) 求倒先輸入 1.25,再按下“求倒”鍵分析:輸出的結(jié)果如圖所示,倒數(shù)功能實(shí)現(xiàn),計(jì)算時(shí),不僅是結(jié)果,輸入的數(shù)據(jù)同樣可以先實(shí)現(xiàn)倒數(shù)功能后再進(jìn)行相應(yīng)的計(jì)算,沒(méi)有影響!3) 退格輸入數(shù)字1265按下“退格”鍵分析: 輸出的結(jié)果如圖所示,本計(jì)算器退格鍵有一個(gè)特點(diǎn)是,就算是是計(jì)算后得出的結(jié)果也能實(shí)現(xiàn)退格,缺點(diǎn)是不能很好的處理小數(shù)點(diǎn)的問(wèn)題,因?yàn)樾?shù)點(diǎn)也是字符串的一部分。4) 清零按下“ c”鍵分析:輸

19、出的結(jié)果如圖所示,按清零鍵后數(shù)據(jù)全部消除。5) 求余弦、求正切、對(duì)e 求冪、求平方根、求自然對(duì)數(shù)、求倒運(yùn)算(例: cos30) 先按下“30”鍵再按下“cos”鍵6) 連續(xù)運(yùn)算(例:2*3*4=24.0 )依次按下“3”、 “ *” 、 “ 4” 、 “ / ”、 “ 6” 、 “ =”鍵7) 異常處理 (例:求倒時(shí)輸入數(shù)為0)先按“0”鍵再按“求倒”鍵五、設(shè)計(jì)體會(huì)與小結(jié)作為一名計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的學(xué)生,我覺(jué)得能做類似的課程設(shè)計(jì)是十分有意義, 而且是十分必要的。經(jīng)過(guò)一段時(shí)間的努力,計(jì)算器課程設(shè)計(jì)終于結(jié)束了,雖然很忙碌、很疲勞,但是收獲很大。這些天我?guī)缀趺刻斓膶W⒑托羷冢瑔净亓宋覍?duì) Java

20、這門語(yǔ)言的重新的認(rèn)識(shí),對(duì)Java 這門編程語(yǔ)言也有了深刻的理解。當(dāng)然在本次課程設(shè)計(jì)的過(guò)程中,我碰到了很多問(wèn)題,比如求倒時(shí),最先我是把按鈕新建成“1/x ”,但是出現(xiàn)問(wèn)題,怎么找都沒(méi)找出問(wèn)題來(lái),其后重新整理思緒 才 發(fā) 現(xiàn) 不 能 設(shè) 成 “ 1/x ” , 因 為 “ 1/x ” 中 第 一 個(gè) 字 符 是 數(shù) 字 , 而Character.isDigit(Command.charAt(0) 會(huì)將“ 1/x ”當(dāng)做數(shù)字鍵寫入文本框。還有就是實(shí)現(xiàn)退格功能時(shí)不知道怎樣處理,最后上網(wǎng)百度了一下才找到了方法,這也讓我深刻體會(huì)到了網(wǎng)絡(luò)的作用。當(dāng)然還遇到了其他的困難,這些花費(fèi)了我很多時(shí)間, 使我失敗了很多

21、次,但是通過(guò)我們不解的努力還是一一克服了這些問(wèn)題,最終還是成功了。當(dāng)然在這次試驗(yàn)中也暴露自己一些問(wèn)題,發(fā)現(xiàn)了自己的很多不足, 自己知識(shí)的很多漏洞,基礎(chǔ)知識(shí)的不牢固,看到了自己的實(shí)踐經(jīng)驗(yàn)還是比較缺乏,理論聯(lián)系實(shí)際的能力還急需提高。這次課程設(shè)計(jì),除了全面系統(tǒng)的理解了JAVA 面向?qū)ο缶幊淘淼囊话阍砗突緦?shí)現(xiàn)方法,還把死板的課本知識(shí)變得生動(dòng)有趣,激發(fā)了學(xué)習(xí)的積極性。把學(xué)過(guò)的編程原理的知識(shí)強(qiáng)化,把課堂上學(xué)的知識(shí)通過(guò)自己設(shè)計(jì)的程序表示出來(lái),這加深了對(duì)理論知識(shí)的理解。課程設(shè)計(jì)中程序比較復(fù)雜,在調(diào)試時(shí)應(yīng)該仔細(xì),在程序調(diào)試時(shí),注意盡力尋找程序中存在的不足之處,進(jìn)而使功能更加完善。當(dāng)然在做課程設(shè)計(jì)要有很大的

22、耐心,做的過(guò)程就是不斷的調(diào)試修改調(diào)試過(guò)程,只有靜下心來(lái)才能把問(wèn)題解決。六、參考文獻(xiàn)1 於東軍等 Java 程序設(shè)計(jì)與應(yīng)用開(kāi)發(fā)(第二版)清華大學(xué)出版社2009.52 Bruce Eckel Java 編程思想機(jī)械工業(yè)出版社2007.63 楊樹(shù)林等 Java 語(yǔ)言最新實(shí)用案例教程( 第 2版 ) 清華大學(xué)出版社2010.7七、源程序import java.util.*;import javax.swing.*;import java.awt.*;public class Calculater extends JFrame implements ActionListenerJTextField x;

23、 / 文本框String preOperater="" / 上一次的運(yùn)算符double sum=0; / 運(yùn)算結(jié)果public Calculater(String title)super(title);Container c=getContentPane(); / 容器c.setLayout(new BorderLayout(); / 容器采用邊緣布局x=new JTextField(50);c.add("North",x);String buttoned="0","1","2","3

24、","+/-",".","C","退 格 "," 求 倒","4","5","6","7","+","-","*","/","%","8","9","=","sqrt","pow","log"

25、;,"cos","tan","exp"JPanel p=new JPanel(); / 面板p.setLayout(new GridLayout(3,9,10,10); / 面板采用行列數(shù)3, 6 的網(wǎng)格布局用一個(gè) for 循環(huán)將按鈕添加進(jìn)面板for(int k=0;k<buttoned.length;k+) /并注冊(cè)監(jiān)聽(tīng)器JButton b=new JButton(buttonedk);p.add(b);b.addActionListener(this);c.add("Center",p);this.set

26、DefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/ 響應(yīng)用戶事件,根據(jù)點(diǎn)擊按鈕實(shí)現(xiàn)相關(guān)操作public void actionPerformed(ActionEvent e)String Command=e.getActionCommand(); tryif(Character.isDigit(Command.charAt(0) / 如果按鈕事件為數(shù)字鍵x.setText(x.getText()+Command); / 添加數(shù)字else if(Command.equals(".") / 如果按鈕事件為"." 鍵xi

27、aoshu();else if(Command.equals("+/-") / 如果按鈕事件為"+/-" 鍵fuhao();else if (Command.equals(" 退格 ") / 如果按鈕事件為"退格" 鍵backspace();else if(Command.equals("=") / dengyu();else if(Command.equals("sqrt") / sqrt();else if(Command.equals("log")

28、/ log();else if(Command.equals("cos") / cos();如果按鈕事件為"=" 鍵如果按鈕事件為"sqrt" 鍵如果按鈕事件為"log" 鍵如果按鈕事件為"cos" 鍵else if(Command.equals("tan") / 如果按鈕事件為"tan" 鍵tan();else if(Command.equals("exp") / 如果按鈕事件為"exp" 鍵exp();else

29、if (Command.equals(" 求倒 ") / 如果按鈕事件為" 求倒 " 鍵qiudao();else if(Command.equals("C") / 如果按鈕事件為"C" 鍵clear();else doOperation(); / 記錄運(yùn)算符和輸入的數(shù)字x.setText("");preOperater=Command;catch(Exception ex) sum=0; x.setText("");void xiaoshu() / 添加小數(shù)點(diǎn)String

30、s=x.getText();if(s.indexOf(".")=-1)x.setText(s+".");void fuhao() / 添加負(fù)號(hào)String s=x.getText();if(s.indexOf("-")=-1)x.setText("-"+x.getText();void backspace() / 退格String s=x.getText();if(s.length()>0)x.setText(s.substring(0,s.length()-1); /刪除最后一個(gè)字符void dengyu(

31、) / 等號(hào),顯示計(jì)算結(jié)果doOperation();x.setText(""+sum);preOperater=""void sqrt() / 求該數(shù)的平方根double m=Double.parseDouble(x.getText();if (m<0)x.setText(" 負(fù)數(shù)不能開(kāi)根號(hào)");elsex.setText(""+Math.sqrt(m);void log() / 求該數(shù)的自然對(duì)數(shù)double m=Double.parseDouble(x.getText();if (m<0)x.setText(" 負(fù)數(shù)不能進(jìn)行自然對(duì)數(shù)運(yùn)算");elsex.setText(""+Math.log(m);void cos() / 求該數(shù)的余弦double m=Double.parseDouble(x.getText();x.setText("&q

溫馨提示

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