java簡(jiǎn)易計(jì)算器源代碼_第1頁(yè)
java簡(jiǎn)易計(jì)算器源代碼_第2頁(yè)
java簡(jiǎn)易計(jì)算器源代碼_第3頁(yè)
java簡(jiǎn)易計(jì)算器源代碼_第4頁(yè)
java簡(jiǎn)易計(jì)算器源代碼_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、package swing;import java.awt.borderlayout;import java.awt.color;import java.awt.container;import java.awt.gridlayout;import java.awt.event.actionevent;import java.awt.event.actionlistener;import javax.swing.jbutton;import javax.swing.jframe;import javax.swing.joptionpane;import javax.swing.jpanel;i

2、mport javax.swing.jtextfield;public class work1 public static void main(string args) new jsqview(340, 240);suppresswarnings(serial)class jsqview extends jframe jtextfield jtf;jbutton jb1, jb2, jb3;jbutton jb;jpanel jp1, jp2, jp3, jp4;myactionlistener l;public jsqview(int weith, int heigh) container

3、con = this.getcontentpane();con.setlayout(new borderlayout(5, 10);l = new myactionlistener(this);jtf = new jtextfield(26);jp1 = new jpanel();jp1.add(jtf);jtf.sethorizontalalignment(jtextfield.right);jp3 = new jpanel();jp3.setlayout(new borderlayout(5, 10);jb1 = new jbutton(backspace);jb2 = new jbutt

4、on(ce);jb3 = new jbutton(c);jb1.setforeground(color.red);jb1.addactionlistener(l);jb2.addactionlistener(l);jb2.setforeground(color.red);jb3.addactionlistener(l);jb3.setforeground(color.red);jp2 = new jpanel();jp2.setlayout(new gridlayout(1, 3, 5, 5);jp2.add(jb1);jp2.add(jb2);jp2.add(jb3);jp4 = new j

5、panel();jp4.setlayout(new gridlayout(4, 5, 5, 5);jb = new jbutton20;string str = 7, 8, 9, /, sqrt, 4, 5, 6, *, %,1, 2, 3, -, 1/x, 0, +/-, ., +, = ;for (int i = 0; i 20; i+) jbi = new jbutton(stri);jbi.addactionlistener(l);if (i = 3 | i = 8 | i = 13 | i = 18 | i = 19) jbi.setforeground(color.red);jp4

6、.add(jbi);jp3.add(jp2, borderlayout.north);jp3.add(jp4);con.add(jp1, borderlayout.north);con.add(jp3);this.settitle(計(jì)算器);this.setsize(weith, heigh);this.setdefaultcloseoperation(jframe.exit_on_close);this.setvisible(true);class myactionlistener implements actionlistener jsqview jv;char operator;stri

7、ng temp;count c = new count();boolean b = false;public myactionlistener(jsqview jv) this.jv = jv;public void actionperformed(actionevent e) string str = e.getactioncommand().trim();/system.out.println(str);if (str.matches(d.) /system.out.println(str);if(b)jv.jtf.settext();b = false;stringbuffer sbf

8、= new stringbuffer();string s = jv.jtf.gettext().trim();sbf.append(s);if(.equals(s)&.equals(str)sbf.append(0+str);else if(s.matches(d+)sbf.append(str);else if(str.matches(d)sbf.append(str);jv.jtf.settext(sbf.tostring(); else if (str.matches(+-*/%) b =false;operator = str.charat(0);/system.out.printl

9、n(str);temp = jv.jtf.gettext().trim();jv.jtf.settext(); else if (str.equals(=) string s = jv.jtf.gettext().trim();/system.out.println(temp);/system.out.println(s);if(.equals(s)|s=null|temp=null)return;if(temp.matches(d+.d+)|(s.matches(d+.d+)double i = double.parsedouble(temp);double j = double.parse

10、double(s);if(!b)temp=s;double sum =c.count(i, j, operator,jv);jv.jtf.settext(sum + );elselong i = long.parselong(temp);long j = long.parselong(s);if(!b)temp=s;long sum = c.count(i, j, operator,jv);jv.jtf.settext(sum + );b = true;else if(str.equals(1/x)string s = jv.jtf.gettext().trim();double i = do

11、uble.parsedouble(s);double sum = c.count(i,jv);jv.jtf.settext(sum + );b = true;else if(str.equals(ce)b= false;jv.jtf.settext();else if(str.equals(backspace)b= false;jv.jtf.settext(temp);else if(str.equals(sqrt)b= true;string s = jv.jtf.gettext().trim();double b = math.sqrt(double.parsedouble(s);jv.j

12、tf.settext(b+);else if(str.equals(+/-)string s = jv.jtf.gettext().trim();if(s.startswith(-)s= s.substring(1, s.length();elses = -+s;jv.jtf.settext(s);class count public long count(long i,long j,char operator,jsqview jv)long num = 0;switch (operator) case +:num = i + j;break;case -:num = i - j;break;

13、case *:num = i * j;break;case /:if(j=0)try throw new myexception(); catch (myexception e) joptionpane.showmessagedialog(jv, 被除數(shù)不能為零,錯(cuò)誤,joptionpane.error_message);return 0;num = i / j;break;case %:num = i % j;break;default:break;return num;public double count(double i,double j,char operator,jsqview j

14、v)double num = 0;switch (operator) case +:num = i + j;break;case -:num = i - j;break;case *:num = i * j;break;case /:if(j=0.0)try throw new myexception(); catch (myexception e) joptionpane.showmessagedialog(jv, 被除數(shù)不能為零,錯(cuò)誤,joptionpane.error_message);return 0;num = i / j;break;default:break;return num;public double count (double i,jsqview jv)double num;if(i=0.0)try throw new myexcep

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論