java小程序計數(shù)器僅供參考一起學(xué)習(xí)_第1頁
java小程序計數(shù)器僅供參考一起學(xué)習(xí)_第2頁
java小程序計數(shù)器僅供參考一起學(xué)習(xí)_第3頁
java小程序計數(shù)器僅供參考一起學(xué)習(xí)_第4頁
java小程序計數(shù)器僅供參考一起學(xué)習(xí)_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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("計算器”); 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.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]){//等號 if(num1.indexOf(".”)==—1&&num2.indexOf(”。”)==—1){ jisuanInt(); } else{ jisuanFloat(); } if(!(num1。indexOf("。")==-1)){///////////////小數(shù)點 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(){///////////////////計算整數(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(){/////////////////////計算浮點數(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論