用java编写计算器

时间:938次浏览2016.12.19提问

用java编写计算器

已解决问题

hao231知道平台可亲可爱的用户1***6网友在938次浏览2016.12.19提问提了关于Java编程相关的问题,他的提问最近用java编写计算器Java编程希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,你就是当代的活雷锋,太感谢了 !

第1个回答

小则沐风2017.02.06回答importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclass计算器extendsJFrameimplementsActionListener{privateJPaneljPanel1,jPanel2;privateJTextFieldresultField;privateJButtons1,s2,s3,s4,s5,s6,s7,s8,s9,s0,b1,b2,b3,b4,f1,f2;privatebooleanend,add,sub,mul,div;privateStringstr;privatedoublenum1,num2;public计算器(){super("计算器");setSize(600,600);Containercon=getContentPane();//放其他容器con.setLayout(newBorderLayout());jPanel1=newJPanel();jPanel1.setLayout(newGridLayout(1,1));jPanel2=newJPanel();jPanel2.setLayout(newGridLayout(4,4));resultField=newJTextField("0");jPanel1.add(resultField);con.add(jPanel1,BorderLayout.NORTH);s1=newJButton("1");s1.addActionListener(this);//为按钮1增加侦听器s2=newJButton("2");s2.addActionListener(this);s3=newJButton("3");s3.addActionListener(this);s4=newJButton("4");s4.addActionListener(this);s5=newJButton("5");s5.addActionListener(this);s6=newJButton("6");s6.addActionListener(this);s7=newJButton("7");s7.addActionListener(this);s8=newJButton("8");s8.addActionListener(this);s9=newJButton("9");s9.addActionListener(this);s0=newJButton("0");s0.addActionListener(this);b1=newJButton("+");b1.addActionListener(this);b2=newJButton("-");b2.addActionListener(this);b3=newJButton("*");b3.addActionListener(this);b4=newJButton("/");b4.addActionListener(this);f1=newJButton(".");f1.addActionListener(this);f2=newJButton("=");f2.addActionListener(this);jPanel2.add(s1);jPanel2.add(s2);jPanel2.add(s3);jPanel2.add(b1);jPanel2.add(s4);jPanel2.add(s5);jPanel2.add(s6);jPanel2.add(b2);jPanel2.add(s7);jPanel2.add(s8);jPanel2.add(s9);jPanel2.add(b3);jPanel2.add(s0);jPanel2.add(f1);jPanel2.add(f2);jPanel2.add(b4);con.add(jPanel2,BorderLayout.CENTER);}publicvoidnum(inti){Strings=null;s=String.valueOf(i);if(end){//如果数字输入结束,则将文本框置零,重新输入resultField.setText("0");end=false;}if((resultField.getText()).equals("0")){//如果文本框的内容为零,则覆盖文本框的内容resultField.setText(s);}else{//如果文本框的内容不为零,则在内容后面添加数字str=resultField.getText()+s;resultField.setText(str);}}publicvoidactionPerformed(ActionEvente){//数字事件if(e.getSource()==s1)num(1);elseif(e.getSource()==s2)num(2);elseif(e.getSource()==s3)num(3);elseif(e.getSource()==s4)num(4);elseif(e.getSource()==s5)num(5);elseif(e.getSource()==s6)num(6);elseif(e.getSource()==s7)num(7);elseif(e.getSource()==s8)num(8);elseif(e.getSource()==s9)num(9);elseif(e.getSource()==s0)num(0);//符号事件elseif(e.getSource()==b1)sign(1);elseif(e.getSource()==b2)sign(2);elseif(e.getSource()==b3)sign(3);elseif(e.getSource()==b4)sign(4);//等号elseif(e.getSource()==f1){str=resultField.getText();if(str.indexOf(".")<=1){str+=".";resultField.setText(str);}}elseif(e.getSource()==f2){num2=Double.parseDouble(resultField.getText());if(add){num1=num1+num2;}elseif(sub){num1=num1-num2;}elseif(mul){num1=num1*num2;}elseif(div){num1=num1/num2;}resultField.setText(String.valueOf(num1));end=true;}}publicvoidsign(ints){if(s==1){add=true;sub=false;mul=false;div=false;}elseif(s==2){add=false;sub=true;mul=false;div=false;}elseif(s==3){add=false;sub=false;mul=true;div=false;}elseif(s==4){add=false;sub=false;mul=false;div=true;}num1=Double.parseDouble(resultField.getText());end=true;}publicstaticvoidmain(String[]args){计算器th1=new计算器();th1.show();}}注:把“计算器”该成英文字符