java編寫的計算器

java編寫的計算器

ID:23137358

大小:65.18 KB

頁數(shù):5頁

時間:2018-11-04

java編寫的計算器_第1頁
java編寫的計算器_第2頁
java編寫的計算器_第3頁
java編寫的計算器_第4頁
java編寫的計算器_第5頁
資源描述:

《java編寫的計算器》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫

1、importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassCalculatorextendsJFrameimplementsActionListener{privateJTextFieldtext;//顯示計算結(jié)果的文本行privatecharop;//當(dāng)前運(yùn)算符privatedoublevalue;//當(dāng)前計算結(jié)果值privatebooleanfirst;//表示是否為數(shù)值的第1個數(shù)字privatebooleancal;//是否為連續(xù)運(yùn)算booleanclickable;/

2、/控制運(yùn)算符是否可用booleanisTrue;//控制數(shù)字鍵是否可用intsign;//標(biāo)志是什么原因?qū)е庐惓ublicCalculator(){//TODOAuto-generatedconstructorstubsuper("計算器");this.setSize(280,210);this.setLocation(300,240);this.setDefaultCloseOperation(EXIT_ON_CLOSE);text=newJTextField("0.",30);text.setHorizontalAlignment(JTextField

3、.RIGHT);//設(shè)置對齊方式,右對齊text.setEditable(false);//只能顯示,不允許編輯this.getContentPane().add(text,"North");JPanelpanel=newJPanel(newGridLayout(5,4,5,5));//面板采用網(wǎng)格布局this.getContentPane().add(panel);Stringstr[]={"sqrt","+/-","Backspace","C","7","8","9","/","4","5","6","*","1","2","3","-","0","."

4、,"=","+"};JButtonbuttons[]=newJButton[str.length];for(inti=0;i

5、display()//將多個按鈕中涉及到連續(xù)運(yùn)算的相同的代碼部分提出來單獨(dú)作為一個方法{switch(op)//當(dāng)按下第二個運(yùn)算符時,進(jìn)行前一個運(yùn)算符的運(yùn)算{case'+':value+=Double.parseDouble(text.getText());break;//轉(zhuǎn)換成浮點(diǎn)數(shù)后運(yùn)算case'-':value-=Double.parseDouble(text.getText());break;case'*':value*=Double.parseDouble(text.getText());break;case'/':if(Double.parseD

6、ouble(text.getText())==0){this.sign=1;clickable=false;isTrue=false;thrownewArithmeticException();}elsevalue/=Double.parseDouble(text.getText());break;}}publicvoidactionPerformed(ActionEvente)//按鈕單擊的事件處理方法{Stringcurrent=e.getActionCommand();//獲取按鈕標(biāo)簽try{if(current=="C")//清除{text.setT

7、ext("0.");//重新設(shè)置文本內(nèi)容value=0.0d;first=true;cal=false;//取消連續(xù)運(yùn)算標(biāo)記clickable=false;//設(shè)置運(yùn)算符此時不可用isTrue=true;return;}if(current=="Backspace"&&clickable==true)//退格{StringBufferstr1=newStringBuffer(text.getText());if(!text.getText().trim().equals("0.")){//如果文本框顯示的不是零if(str1.length()!=1){tex

8、t.setText(str1.delete(str1

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。