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

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

3、對(duì)數(shù)、求倒運(yùn)算- 11 -6)連續(xù)運(yùn)算(例:2*3*4=24.0)- 11 -7)異常處理(例:求倒時(shí)輸入數(shù)為0)- 12 -五、 設(shè)計(jì)體會(huì)與小結(jié)- 13 -六、 參考文獻(xiàn)- 13 -七、 源程序- 14 -1、 設(shè)計(jì)內(nèi)容1. 課程設(shè)計(jì)目的: 1)掌握J(rèn)ava語(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)行正切、

4、余弦,以及求平方根、指數(shù) (包括對(duì)e)、自然對(duì)數(shù)運(yùn)算。圖形界面采用繼承windowadapter類,采取調(diào)用類方法來(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è)部分。2、 原理與分析1.開(kāi)發(fā)的技術(shù)及功能 本課程設(shè)計(jì)是

5、要做一個(gè)圖形界面的計(jì)算器,其界面主要是由swing組件中的控件構(gòu)成。程序?qū)崿F(xiàn)了計(jì)算器的基本功能有:加、減、乘、除基本算術(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)、正切(t

6、an)、指數(shù)運(yùn)算(pow)、自然對(duì)數(shù)運(yùn)算(log)、求平方根(sqrt)以及對(duì)e的指數(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)行界面3、 設(shè)計(jì)過(guò)程1. 程序思路:1)本應(yīng)用程序繼承自框架類(JFrame),容器Container c采用BorderLayout邊緣布局,將單行文本框加入到“North”區(qū)

7、域,包含各種按鈕的面板JPanel p加入到”Center”區(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í)行運(yùn)算同時(shí)將運(yùn)算符存放在preOperater中。觸發(fā)按鈕事件時(shí),要進(jìn)一步分析,是重新開(kāi)始計(jì)

9、算時(shí)觸發(fā)的按鈕事件還是計(jì)算中間觸發(fā)的按鈕事件。4)計(jì)算器完成的是一個(gè)數(shù)學(xué)表達(dá)式,如:32,所以可以采用一個(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(preOperater.equals("") sum=m; /無(wú)前一操作,結(jié)果為剛輸入數(shù)/將結(jié)果與文本框中的數(shù)

10、據(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.equals("%") sum=sum%m; /求余if(preOperater.equals(&quo

11、t;pow") sum=Math.pow(sum, m); /求冪,指數(shù)運(yùn)算2)其他運(yùn)算 、求平方根Void sqrt()double m=Double.parseDouble(x.getText();if (m<0) x.setText("負(fù)數(shù)不能開(kāi)根號(hào)");elsex.setText(""+Math.sqrt(m);、對(duì)數(shù)運(yùn)算Void log()double m=Double.parseDouble(x.getText();if (m<0) x.setText("負(fù)數(shù)不能進(jìn)行自然對(duì)數(shù)運(yùn)算");elsex.se

12、tText(""+Math.log(m);、余弦運(yùn)算Void cos()double m=Double.parseDouble(x.getText();x.setText(""+Math.cos(m);、正切運(yùn)算Void tan()double m=Double.parseDouble(x.getText();x.setText(""+Math.tan(m);、e的指數(shù)運(yùn)算Void exp()double m=Double.parseDouble(x.getText();x.setText(""+Math.exp(

13、m);、倒數(shù)運(yùn)算Void daoshu()if (Double.parseDouble(x.getText()=0) x.setText("除數(shù)不能為零");elsex.setText(""+1/(Double.parseDouble(x.getText();preOperater=""3)主要方法說(shuō)明public cos(double x)/求x的余弦函數(shù)public tan (double x)/求x的正切函數(shù)public sqrt(double x)/求x的平方根public log (double x)/求x的自然對(duì)數(shù)運(yùn)算pu

14、blic exp (double x)/求e的x次冪public pow (double a,double b)/求a的b次冪public daoshu (double x)/求x的倒數(shù)4)程序流程圖3.算法思路:這是一個(gè)簡(jiǎn)單的計(jì)算器,里面所涉及到的功能就是加、減、乘、除、開(kāi)方運(yùn)算、等基本功能。僅須定義兩個(gè)變量來(lái)保存雙運(yùn)算操作的前一個(gè)數(shù)和當(dāng)前在計(jì)算器上顯示的數(shù)字即可,而對(duì)于單運(yùn)算的操作要求更加簡(jiǎn)單,只需要一個(gè)變量就可以了。當(dāng)然對(duì)數(shù)據(jù)進(jìn)行判斷是必不可少的。在輸入數(shù)據(jù)之后Character.isDigit(Command.charAt(0)判斷輸入的數(shù)據(jù)是否符合要求。不符合要求給出提示,符合要求以

15、后將判斷點(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ù),則彈出"負(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)而得到

16、正確的結(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)行異常處理,彈出“Infinity”。4.數(shù)據(jù)分析:在事件處理,觸發(fā)按鈕事件時(shí),先判斷是或是數(shù)字是或是“-/+”是或是“.”,是的話就將負(fù)號(hào)“-” 、數(shù)字、小數(shù)點(diǎn)“.”分別寫入文本框并存放在sum中,然后判斷是或是“退格”、

17、“求倒”等,是的話進(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é)果與分析運(yùn)行調(diào)試1)進(jìn)行加減乘除求余以及指數(shù)運(yùn)算帶負(fù)數(shù)的浮點(diǎn)加法運(yùn)算(例:-1.2+4=2.8)依次按“+/-”(也可以最后按) ,“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ù)功能

18、實(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”鍵分析:輸出的結(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ù)

19、為0)先按“0”鍵再按“求倒”鍵5、 設(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這門語(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”,因?yàn)椤?/x”中第一個(gè)字符是數(shù)字,而Character.isDigit(Command.charA

20、t(0)會(huì)將“1/x”當(dāng)做數(shù)字鍵寫入文本框。還有就是實(shí)現(xiàn)退格功能時(shí)不知道怎樣處理,最后上網(wǎng)百度了一下才找到了方法,這也讓我深刻體會(huì)到了網(wǎng)絡(luò)的作用。當(dāng)然還遇到了其他的困難,這些花費(fèi)了我很多時(shí)間,使我失敗了很多次,但是通過(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)化,把課

21、堂上學(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ì)要有很大的耐心,做的過(guò)程就是不斷的調(diào)試修改調(diào)試過(guò)程,只有靜下心來(lái)才能把問(wèn)題解決。6、 參考文獻(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.77、 源程序import java.util.*;import javax.s

22、wing.*;import java.awt.*;import java.awt.event.*;public class Calculater extends JFrame implements ActionListenerJTextField x; /文本框String preOperater="" /上一次的運(yùn)算符double sum=0; /運(yùn)算結(jié)果public Calculater(String title)super(title);Container c=getContentPane(); /容器c.setLayout(new BorderLayout(); /

23、容器采用邊緣布局x=new JTextField(50);c.add("North",x); String buttoned="0","1","2","3","+/-",".","C","退格","求倒","4","5","6","7","+","-","*"

24、,"/","%","8","9","=","sqrt","pow","log","cos","tan","exp"JPanel p=new JPanel(); /面板p.setLayout(new GridLayout(3,9,10,10); /面板采用行列數(shù)3,6的網(wǎng)格布局for(int k=0;k<buttoned.length;k+) /用一個(gè)for循環(huán)將按鈕添加進(jìn)

25、面板并注冊(cè)監(jiān)聽(tīng)器JButton b=new JButton(buttonedk);p.add(b);b.addActionListener(this);c.add("Center",p);this.setDefaultCloseOperation(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) /如果按

26、鈕事件為數(shù)字鍵x.setText(x.getText()+Command); /添加數(shù)字else if(Command.equals(".") /如果按鈕事件為"."鍵xiaoshu();else if(Command.equals("+/-") /如果按鈕事件為"+/-"鍵fuhao();else if (Command.equals("退格") /如果按鈕事件為"退格"鍵backspace();else if(Command.equals("=") /

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

28、"鍵tan();else if(Command.equals("exp") /如果按鈕事件為"exp"鍵exp();else if (Command.equals("求倒") /如果按鈕事件為"求倒"鍵qiudao();else if(Command.equals("C") /如果按鈕事件為"C"鍵clear();else doOperation(); /記錄運(yùn)算符和輸入的數(shù)字x.setText("");preOperater=Command;c

29、atch(Exception ex) sum=0; x.setText("");void xiaoshu() /添加小數(shù)點(diǎn)String 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();

30、 if(s.length()>0) x.setText(s.substring(0,s.length()-1); /刪除最后一個(gè)字符void dengyu() /等號(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(""+Math

溫馨提示

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