




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
packagecom.haha;importjava.awt.Color;importjava。awt。event.MouseAdapter;importjava.awt。event。MouseEvent;importjava。awt.event。MouseListener;importjavax.swing.JButton;importjavax.swing。JFrame;importjavax.swing。JPanel;importjavax。swing。JTextField;publicclassJiSuanQiextendsMouseAdapterimplementsMouseListener{ publicStringnum1="",num2="",opr=””,res=””; publicBooleanisOpr=false;// publicBooleanisDian1=false; publicBooleanisDian2=false; publicJTextFieldjf=newJTextField(”0”); publicJPaneljp1=newJPanel(); publicJFramef; publicJButtonc=newJButton(”c”);//清空按鈕 publicJButtond=newJButton("<-——”);//刪除.. publicJButton[][]b={{newJButton("7"),newJButton("8"),newJButton("9"),newJButton("+”)}, {newJButton("4"),newJButton("5"),newJButton(”6”),newJButton("—”)}, {newJButton(”1"),newJButton("2”),newJButton(”3”),newJButton(”*”)}, {newJButton(”0"),newJButton("?!?,newJButton(”="),newJButton("/”)}};////聲明并初始化按鈕數(shù)組,存放數(shù)字和操作符 JiSuanQi(){ initFrame(); } publicvoidinitFrame(){///繪制屏幕 f=newJFrame("計(jì)算器”); f.setBounds(600,200,250,350); f。setDefaultCloseOperation(JFrame。EXIT_ON_CLOSE);//關(guān)閉窗口 f.setResizable(false); f。setVisible(true); f.setLayout(null); f.add(jf); jf。setEditable(false); jf.setBounds(0,0,250,50); jf.setBackground(Color.red); buttonPos(); addButtonListener(); } publicvoidbuttonPos(){//添加按鈕 intx=15,y=100; f。add(c); c。setBounds(180,55,50,40); f.add(d); d.setBounds(120,55,55,40); for(inti=0;i〈4;i++){ for(intj=0;j〈4;j++){ f。add(b[i][j]); b[i][j]。setBounds(x,y,50,40); x+=55; } x=15; y+=42; } } publicvoidaddButtonListener(){//事件注冊(cè) c.addMouseListener(newMouseAdapter(){ publicvoidmouseClicked(MouseEvente){ evectDo(e); } }); d。addMouseListener(newMouseAdapter(){ publicvoidmouseClicked(MouseEvente){ evectDo(e); } }); for(inti=0;i〈4;i++){ for(intj=0;j<4;j++){ b[i][j].addMouseListener(newMouseAdapter(){ publicvoidmouseClicked(MouseEvente){ evectDo(e); } }); } } } publicvoidevectDo(MouseEvente){//事件處理程序 if(e。getSource()==d){// if(isOpr){ if(!num2。equals(””)){ num2=num2.substring(0,num2.length()-1); } else{ opr=”"; isOpr=false; } } else{ if(!num1。equals(”")){ num1=num1。substring(0,num1.length()-1); } else{ num1="”; } } disp(); } if(e.getSource()==c){// jf.setText("0"); num1=”";num2=”";opr="";res=””; isDian1=false; isDian2=false; isOpr=false; } if(e.getSource()==b[0][3]){//加 opr=b[0][3].getText(); isOpr=true; //isDian1=false; disp(); } if(e。getSource()==b[1][3]){//減 opr=b[1][3].getText(); isOpr=true; disp(); } if(e。getSource()==b[2][3]){//乘 opr=b[2][3]。getText(); isOpr=true; disp(); } if(e.getSource()==b[3][3]){//除 opr=b[3][3]。getText(); isOpr=true; disp(); } if(e.getSource()==b[3][2]){//等號(hào) if(num1.indexOf(".”)==—1&&num2.indexOf(”?!?==—1){ jisuanInt(); } else{ jisuanFloat(); } if(!(num1。indexOf("。")==-1)){///////////////小數(shù)點(diǎn) isDian1=true; } isDian2=false; } if(e.getSource()==b[0][0]){//獲取數(shù)字 if(!isOpr){ num1+=b[0][0].getText(); } else{ num2+=b[0][0].getText(); } disp(); } if(e.getSource()==b[0][1]){//獲取數(shù)字 if(!isOpr){ num1+=b[0][1].getText(); } else{ num2+=b[0][1].getText(); } disp(); } if(e。getSource()==b[0][2]){//獲取數(shù)字 if(!isOpr){ num1+=b[0][2]。getText(); } else{ num2+=b[0][2]。getText(); } disp(); } if(e。getSource()==b[1][0]){//獲取數(shù)字 if(!isOpr){ num1+=b[1][0].getText(); } else{ num2+=b[1][0].getText(); } disp(); } if(e.getSource()==b[1][1]){//獲取數(shù)字 if(!isOpr){ num1+=b[1][1].getText(); } else{ num2+=b[1][1].getText(); } disp(); } if(e.getSource()==b[1][2]){//獲取數(shù)字 if(!isOpr){ num1+=b[1][2].getText(); } else{ num2+=b[1][2]。getText(); } disp(); } if(e。getSource()==b[2][0]){//獲取數(shù)字 if(!isOpr){ num1+=b[2][0]。getText(); } else{ num2+=b[2][0]。getText(); } disp(); } if(e.getSource()==b[2][1]){//獲取數(shù)字 if(!isOpr){ num1+=b[2][1]。getText(); } else{ num2+=b[2][1].getText(); } disp(); } if(e.getSource()==b[2][2]){//獲取數(shù)字 if(!isOpr){ num1+=b[2][2].getText(); } else{ num2+=b[2][2].getText(); } disp(); } if(e。getSource()==b[3][0]){//獲取數(shù)字 if(!isOpr){ num1+=b[3][0]。getText(); } else{ num2+=b[3][0].getText(); } disp(); } if(e.getSource()==b[3][1]){//獲取數(shù)字"。。。。.。。.。。.。.。.。。." if(!isOpr){ if(!isDian1){ num1+=b[3][1].getText(); isDian1=true; } } else{ if(!isDian2){ num2+=b[3][1].getText(); } isDian2=true; } disp(); } } publicvoiddisp(){///////////////////////顯示結(jié)果 jf.setText(num1+opr+num2); } publicvoidjisuanInt(){///////////////////計(jì)算整數(shù) intn1,n2; if(num1.equals(””)){ n1=0; } else{ n1=Integer.parseInt(num1); } if(num2.equals(””)){ n2=0; } else{ n2=Integer。parseInt(num2); } if(opr.equals(”+”)){ res=(n1+n2)+"”; jf。setText(res); num1=res; num2=”"; opr=”"; isOpr=false; } if(opr.equals("—")){ res=(n1-n2)+""; jf.setText(res); num1=res; num2="”; opr=”"; isOpr=false; } if(opr.equals(”*")){ res=(n1*n2)+""; jf.setText(res); num1=res; num2="”; opr="”; isOpr=false; } if(opr.equals("/”)){ while(true){ if(n2==0){ jf。setText("被除數(shù)不能為零”); num1=””;num2=”";opr=””;res=””; isOpr=false; } else{ res=(((float)n1)/n2)+""; jf.setText(res); num1=res; num2=""; opr=""; isOpr=false; } break; } } } publicvoidjisuanFloat(){/////////////////////計(jì)算浮點(diǎn)數(shù) floatn1,n2; intnn=Math。abs(nodeNum(num1)+nodeNum(num2)); if(num1.equals(”")){ n1=0; } else{ n1=Float.parseFloat(num1); } if(num2。equals("”)){ n2=0; } else{ n2=Float。parseFloat(num2); } if(opr.equals(”+”)){ res=(n1+n2)+""; jf.setText(res); num1=res; num2=”"; opr="”; isOpr=false; } if(opr。equals(”—”)){ res=(n1—n2)+""; jf。setText(res); num1=res; num2="”; opr=”"; isOpr=false;
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)業(yè)數(shù)字化科技創(chuàng)新園市場(chǎng)分析與需求評(píng)估
- 2025年度酒水專賣店加盟連鎖經(jīng)營(yíng)合同
- 2025年度餐飲業(yè)股權(quán)入股合作協(xié)議
- 2025年度美容美發(fā)專業(yè)人才勞務(wù)招聘合同
- 二零二五年度寵物用品品牌授權(quán)協(xié)議
- 二零二五年度衛(wèi)浴產(chǎn)品專利技術(shù)許可使用合同
- 二零二五年度工程欠款債權(quán)追償及清收協(xié)議
- 2025年度航空航天裝備制造就業(yè)勞動(dòng)合同
- 二零二五年度區(qū)塊鏈技術(shù)應(yīng)用入股協(xié)議書
- 2025年度車輛事故理賠與車輛救援保險(xiǎn)合同
- 公共財(cái)政概論整套課件完整版電子教案課件匯總(最新)
- (5年高職)成本核算與管理教學(xué)課件匯總完整版電子教案全書課件(最新)
- 中國(guó)傳媒大學(xué)全媒體新聞編輯:案例教學(xué)-課件-全媒體新聞編輯:案例教學(xué)-第3講
- 淺圓倉(cāng)滑模及倉(cāng)頂板施工方案
- 統(tǒng)編版必修上冊(cè)第五《鄉(xiāng)土中國(guó)》導(dǎo)讀優(yōu)質(zhì)課件PPT
- 技能大師工作室建設(shè)PPT幻燈片課件(PPT 66頁(yè))
- 統(tǒng)編版四年級(jí)道德與法治下冊(cè)第8課《這些東西哪里來(lái)》教學(xué)課件(含視頻)
- 市場(chǎng)營(yíng)銷課程標(biāo)準(zhǔn)
- 鋼琴基礎(chǔ)教程1教案
- 上??萍及妫瓢妫┏踔袛?shù)學(xué)八年級(jí)下冊(cè)全冊(cè)教案
- 小學(xué)音樂(lè)課后服務(wù)教學(xué)設(shè)計(jì)方案計(jì)劃
評(píng)論
0/150
提交評(píng)論