編寫(xiě)一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告_第1頁(yè)
編寫(xiě)一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告_第2頁(yè)
編寫(xiě)一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告_第3頁(yè)
編寫(xiě)一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告_第4頁(yè)
編寫(xiě)一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

學(xué)號(hào)

2016-2017學(xué)年第二學(xué)期《金融1丁入門(mén)程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告用Python編寫(xiě)簡(jiǎn)易計(jì)算器程序題目:學(xué)號(hào):專(zhuān)業(yè):班級(jí):用Python編寫(xiě)簡(jiǎn)易計(jì)算器程序中國(guó)地質(zhì)大學(xué)長(zhǎng)城學(xué)院XX系2017年月3日目錄評(píng)分項(xiàng)優(yōu)秀良好中等差評(píng)上課出勤分上課表現(xiàn)細(xì)上機(jī)情況平時(shí)作業(yè)完成情況則期末大作業(yè):(1)書(shū)寫(xiě)認(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ǔ)總體概述:設(shè)計(jì)目標(biāo):程序流程圖:程序代碼:設(shè)計(jì)體會(huì):TOC\o"1-5"\h\z\o"CurrentDocument"一、設(shè)計(jì)內(nèi)容-2--\o"CurrentDocument"課程設(shè)計(jì)目的:2--\o"CurrentDocument"課程設(shè)計(jì)任務(wù):2--\o"CurrentDocument"創(chuàng)新要求:-2--\o"CurrentDocument"設(shè)計(jì)要求:-2--\o"CurrentDocument"二、原理與分析-2--\o"CurrentDocument"開(kāi)發(fā)的技術(shù)及功能2-\o"CurrentDocument"設(shè)計(jì)思路-3--\o"CurrentDocument"設(shè)計(jì)效果圖3--\o"CurrentDocument"三、設(shè)計(jì)過(guò)程-3--\o"CurrentDocument"程序思路:-3-\o"CurrentDocument"功能實(shí)現(xiàn):4-1)加減乘除求余以及指數(shù)運(yùn)算4-2)其他運(yùn)算-5--3)主要方法說(shuō)明6-4)程序流程圖&-\o"CurrentDocument"算法思路:-7--\o"CurrentDocument"數(shù)據(jù)分析:8--\o"CurrentDocument"四、設(shè)計(jì)結(jié)果與分析&-\o"CurrentDocument"1.運(yùn)行調(diào)試-8--1)進(jìn)行加減乘除求余以及指數(shù)運(yùn)算8-2)求倒-9--3)退格10-4)清零10-5)求余弦、求正切、對(duì)e求冪、求平方根、求自然對(duì)數(shù)、求倒運(yùn)算11-6)連續(xù)運(yùn)算(例:2*3*4=24.0)11-7)異常處理(例:求倒時(shí)輸入數(shù)為0)12-\o"CurrentDocument"五、設(shè)計(jì)體會(huì)與小結(jié)13-\o"CurrentDocument"六、參考文獻(xiàn)13-七、源程序14-一、設(shè)計(jì)內(nèi)容課程設(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í)踐論文撰寫(xiě)能力。課程設(shè)計(jì)任務(wù):1)設(shè)計(jì)的計(jì)算器應(yīng)用程序可以完成加法、減法、乘法、除法以及取余運(yùn)算(可以進(jìn)行浮點(diǎn)數(shù)和負(fù)數(shù)的運(yùn)算);2)有求倒數(shù)、退格和清零功能。創(chuàng)新要求:能進(jìn)行正切、余弦,以及求平方根、指數(shù)(包括對(duì)e)、自然對(duì)數(shù)運(yùn)算。圖形界面采用繼承windowadapter類(lèi),采取調(diào)用類(lèi)方法來(lái)注冊(cè)監(jiān)聽(tīng)!設(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è)部分。二、原理與分析開(kāi)發(fā)的技術(shù)及功能本課程設(shè)計(jì)是要做一個(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ù)、退格和清零功能。設(shè)計(jì)思路設(shè)計(jì)這個(gè)計(jì)算器主要是參考Windows操作系統(tǒng)中自帶的計(jì)算器,由于編者水平和時(shí)間的限制,不能將計(jì)算器設(shè)計(jì)到科學(xué)型及其他更復(fù)雜的類(lèi)型,在設(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的指數(shù)運(yùn)算(exp),并且還能進(jìn)行連續(xù)運(yùn)算。總體上說(shuō)來(lái),本計(jì)算器設(shè)計(jì)簡(jiǎn)單,代碼很少,程序很小,但功能卻很強(qiáng)大,這是同類(lèi)計(jì)算器所不具備的。設(shè)計(jì)效果圖設(shè)計(jì)時(shí)先在設(shè)計(jì)界面中添加按鈕等控件,后在按鈕的actionPerformed事件中添加代碼完成其功能其中調(diào)用了Java類(lèi)中的Math函數(shù)庫(kù)以及各種字符串操作。設(shè)計(jì)的界面如下:圖一計(jì)算器運(yùn)行界面三、設(shè)計(jì)過(guò)程程序思路:1)本應(yīng)用程序繼承自框架類(lèi)(JFrame),容器Containerc采用BorderLayout邊緣布局,將單行文本框加入到“North”區(qū)域,包含各種按鈕的面板JPanelp加入到"Center”區(qū)域。包含各種按鈕的面板JPanelp采用3行6列的網(wǎng)格布局,然后將數(shù)字按鈕和運(yùn)算符按鈕以及控制按鈕用一個(gè)for循環(huán)添加到面板中同時(shí)注冊(cè)按鈕事件監(jiān)聽(tīng)器。如:Buttonb=newButton();b.addActionListener(事件監(jiān)聽(tīng)器);2)事件監(jiān)聽(tīng)器中的事件處理方法voidactionPerformed(ActionEventevt)完成主要的按鈕事件的處理。事件處理分以下幾種情況:數(shù)字按鈕事件(”0”,”1”,”2”...”8”,”9”)、運(yùn)算符按鈕事件(”+”,”一“,"*”,'7”,"%”)、正負(fù)號(hào)按鈕事件(”+/-“)、小數(shù)點(diǎn)按鈕事件(”.”)、等號(hào)按鈕事件(”=”)、求倒按鈕事件(”求倒”)、退格按鈕事件(”退格”)、清除按鈕事件(“C”)、正切(tan)、余弦(cos),以及求平方根(sqrt)、指數(shù)(pow)、對(duì)e的指數(shù)(exp)、對(duì)數(shù)運(yùn)算(log)。3)在事件處理,觸發(fā)按鈕事件時(shí),先判斷是或是數(shù)字是或是“-/+”是或是“.”,是的話(huà)就將負(fù)號(hào)“-”、數(shù)字、小數(shù)點(diǎn)“.”分別寫(xiě)入文本框并存放在sum中,然后判斷是或是“退格”、“求倒”等,是的話(huà)進(jìn)行相應(yīng)的處理,都不是的話(huà)則跳到doOperation()執(zhí)行運(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é)果。功能實(shí)現(xiàn):1)加減乘除求余以及指數(shù)運(yùn)算voiddoOperation(){doublem=Double.parseDouble(x.getText());if(preOperater.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.equals("%”))sum=sum%m;〃求余if(preOperater.equals("pow"))sum=Math.pow(sum,m);//求幕,指數(shù)運(yùn)算}其他運(yùn)算I、求平方根Voidsqrt(){doublem=Double.parseDouble(x.getText());if(m<0)x.setText(-負(fù)數(shù)不能開(kāi)根號(hào)");elsex.setText(""+Math.sqrt(m));}II、對(duì)數(shù)運(yùn)算Voidlog(){doublem=Double.parseDouble(x.getText());if(m<0)x.setText(-負(fù)數(shù)不能進(jìn)行自然對(duì)數(shù)運(yùn)算");elsex.setText(""+Math.log(m));}III、余弦運(yùn)算Voidcos(){doublem=Double.parseDouble(x.getText());x.setText(""+Math.cos(m));}W、正切運(yùn)算Voidtan(){doublem=Double.parseDouble(x.getText());x.setText(""+Math.tan(m));}V、e的指數(shù)運(yùn)算Voidexp(){doublem=Double.parseDouble(x.getText());

x.setText(""+Math.exp(m));丑、倒數(shù)運(yùn)算Voiddaoshu(){if(Double.parseDouble(x.getText())==0)x.setText(”除數(shù)不能為零");else{x.setText(""+1/(Double.parseDouble(x.getText())));preOperater="”;}}3)主要方法說(shuō)明publicpublicpublicpublicpublicpublicpubliccos(doublex)〃求x的余弦函數(shù)tan(doublex)〃求x的正切函數(shù)sqrt(doublex)〃求x的平方根log(doublex)//求x的自然對(duì)數(shù)運(yùn)算exp(doublex)〃求e的x次幕pow(doublea,doubleb)〃求a的b次幕daoshu(doublepublicpublicpublicpublicpublicpublicpublic4)程序流程圖

算法思路:這是一個(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ù)是否符合要求。不符合要求給出提示,符合要求以后將判斷點(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í)dog)如果輸入數(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)而得到正確的結(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”。數(shù)據(jù)分析:在事件處理,觸發(fā)按鈕事件時(shí),先判斷是或是數(shù)字是或是'-/+”是或是“.”,是的話(huà)就將負(fù)號(hào)“-”、數(shù)字、小數(shù)點(diǎn)“.”分別寫(xiě)入文本框并存放在sum中,然后判斷是或是“退格”、“求倒”等,是的話(huà)進(jìn)行相應(yīng)的處理,都不是的話(huà)則跳到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)依次按“+/-”(也可以最后按),“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”鍵

分析:輸出的結(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ù)專(zhuān)業(yè)的學(xué)生,我覺(jué)得能做類(lèi)似的課程設(shè)計(jì)是十分有意義,而且是十分必要的。經(jīng)過(guò)一段時(shí)間的努力,計(jì)算器課程設(shè)計(jì)終于結(jié)束了,雖然很忙碌、很疲勞,但是收獲很大。這些天我?guī)缀趺刻斓膶?zhuān)注和辛勞,喚回了我對(duì)Java這門(mén)語(yǔ)言的重新的認(rèn)識(shí),對(duì)Java這門(mén)編程語(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.charAt(0))會(huì)將“1/x”當(dāng)做數(shù)字鍵寫(xiě)入文本框。還有就是實(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)化,把課堂上學(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)題解決。六、參考文獻(xiàn)於東軍等《Java程序設(shè)計(jì)與應(yīng)用開(kāi)發(fā)》(第二版)清華大學(xué)出版社2009.5BruceEckel《Java編程思想》機(jī)械工業(yè)出版社2007.6楊樹(shù)林等《Java語(yǔ)言最新實(shí)用案例教程》(第2版)清華大學(xué)出版社2010.7七、源程序importjava.util.*;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassCalculaterextendsJFrameimplementsActionListener{JTextFieldx;//文本框StringpreOperater="”;//上一次的運(yùn)算符doublesum=0;//運(yùn)算結(jié)果publicCalculater(Stringtitle){super(title);Containerc=getContentPane();//容器c.setLayout(newBorderLayout());〃容器采用邊緣布局x=newJTextField(50);c.add("North",x);Stringbuttoned[]={"0",T,"2","3","+/-",".","C","退格","求倒I!I!AI!I!CnH/rII??.!!!!!!!!!!!!/!!!!<7/!!!!QIIH!!!!,4,5,6,7,+,-,*,/,%,8,9,=,sqrt,pow,log,cos,tan,exp};JPanelp=newJPanel();//面板p.setLayout(newGridLayout(3,9,10,10));〃面板采用行列數(shù)3,6的網(wǎng)格布局for(intk=0;k<buttoned.length;k++){//用一個(gè)for循環(huán)將按鈕添加進(jìn)面板并注冊(cè)監(jiān)聽(tīng)器JButtonb=newJButton(buttoned[k]);р.add(b);b.addActionListener(this);}с.add(Center,p);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}〃響應(yīng)用戶(hù)事件,根據(jù)點(diǎn)擊按鈕實(shí)現(xiàn)相關(guān)操作publicvoidactionPerformed(ActionEvente){StringCommand=e.getActionCommand();try{if(Character.isDigit(Command.charAt(0))){//如果按鈕事件為數(shù)字鍵x.setText(x.getText()+Command);/添加數(shù)字}elseif(Command.equals(".”)){//如果按鈕事件為"."鍵xiaoshu();}elseif(Command.equals("+/-")){〃如果按鈕事件為"+/-"鍵fuhao();}elseif(Command.equals("退格")){//如果按鈕事件為"退格"鍵backspace();}elseif(Command.equals("=”)){〃如果按鈕事件為"="鍵dengyu();}elseif(Command.equals("sqrt")){//如果按鈕事件為"sqrt"鍵sqrt();}elseif(Command.equals("log")){〃如果按鈕事件為"log”鍵log();}elseif(Command.equals("cos")){//如果按鈕事件為"cos”鍵cos();}elseif(Command.equals("tan")){〃如果按鈕事件為"tan”鍵tan();}elseif(Command.equals("exp")){//如果按鈕事件為"exp”鍵exp();}elseif(Command.equals("求倒")){〃如果按鈕事件為"求倒”鍵qiudao();}elseif(Command.equals("C")){〃如果按鈕事件為"C”鍵clear();}else{doOperation();〃記錄運(yùn)算符和輸入的數(shù)字x.setText("");preOperater=Command;}}catch(Exceptionex){sum=0;x.setText("");}}voidxiaoshu(){〃添加小數(shù)點(diǎn)Strings=x.getText();if(s.indexOf(".")==-1)x.setText(s+".”);}voidfuhao(){〃添加負(fù)號(hào)Strings=x.getText();if(s.indexOf("-")==-1)x.setText("-"+x.getText());}voidbackspace(){〃退格Strings=x.getText();if(s.length()>0)x.setText(s.substring(0,s.length()-1));//刪除最后一個(gè)字符}voiddengyu(){〃等號(hào),顯示計(jì)算結(jié)果doOperation();x.setText(""+sum);preOperater="”;}voidsqrt(){〃求該數(shù)的平方根doublem=Double.parseDouble(x.getText());if(m<0)x.setText(-負(fù)數(shù)不能開(kāi)根號(hào)");elsex.setText(""+Math.sqrt(m));}voidlog(){〃求該數(shù)的自然對(duì)數(shù)doublem=Double.parseDouble(x.getText());if(m<0)x.setText(-負(fù)數(shù)不能進(jìn)行

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論