資源描述:
《Java編寫(xiě)計(jì)算器幾種常見(jiàn)做法.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、Java編寫(xiě)計(jì)算器的幾種常見(jiàn)的做法.txt9母愛(ài)是一滴甘露,親吻干涸的泥土,它用細(xì)雨的溫情,用鉆石的堅(jiān)毅,期待著閃著碎光的泥土的肥沃;母愛(ài)不是人生中的一個(gè)凝固點(diǎn),而是一條流動(dòng)的河,這條河造就了我們生命中美麗的情感之景。importjava.awt.*;importjava.awt.event.*;publicclassMyCalculator{privateFramef;privateTextFieldtf=newTextField(30);privatelongresult;privatebooleanappend=false;privat
2、echaroperator='=';privateButton[]btn=newButton[15];publicMyCalculator(){initComponent();}privatevoidinitComponent(){f=newFrame("MyCalculatorV1.0");f.setLayout(newBorderLayout());//TheframeusesBorderLayoutf.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowE
3、ventevt){System.exit(0);}});PanelcenterPanel=newPanel();centerPanel.setLayout(newGridLayout(5,3));//ThepanelusesGridLayoutNumberListenernl=newNumberListener();OperatorListenerol=newOperatorListener();btn[10]=newButton("+");btn[11]=newButton("-");btn[12]=newButton("*");btn[1
4、3]=newButton("/");btn[14]=newButton("=");for(inti=0;i<=9;i++){btn[i]=newButton(String.valueOf(i));centerPanel.add(btn[i]);btn[i].addActionListener(nl);if(i%2==1){centerPanel.add(btn[(i+19)/2]);btn[(i+19)/2].addActionListener(ol);}}f.add(centerPanel,BorderLayout.CENTER);Pane
5、lnorthPanel=newPanel();tf.setEditable(false);northPanel.add(tf);f.add(northPanel,BorderLayout.NORTH);}publicvoidgo(){f.pack();f.setVisible(true);}publicstaticvoidmain(String[]args){newMyCalculator().go();}/***采用成員內(nèi)部類(lèi)方式,實(shí)現(xiàn)監(jiān)聽(tīng)器接口,方便訪問(wèn)主類(lèi)內(nèi)類(lèi)內(nèi)部成員。*此類(lèi)負(fù)責(zé)數(shù)字按鈕Action事件監(jiān)聽(tīng)和處理*/classNumbe
6、rListenerimplementsActionListener{publicvoidactionPerformed(ActionEvente){if(!append){tf.setText("");append=true;}Strings=tf.getText();s+=e.getActionCommand();tf.setText(s);if(!btn[10].isEnabled()){for(inti=10;i<=14;i++)btn[i].setEnabled(true);}}}/***成員內(nèi)部類(lèi),負(fù)責(zé)操作符按鈕的事件處理*/cla
7、ssOperatorListenerimplementsActionListener{publicvoidactionPerformed(ActionEvente){if(!append)return;for(inti=10;i<=14;i++)btn[i].setEnabled(false);Strings=tf.getText();longnum=Long.parseLong(s);//getthenumberoftextfieldappend=false;//setappendswitch(operator){case'+':resul
8、t+=num;break;case'-':result-=num;break;case'*':result*=num;break;case'/':{if(num==