Windows操作系统自带的计算器是个很方便的小工具,利用Java的GUI编程,实现一个Java GUI计算器应用程序界面,窗口标题为“计算器”,窗口布局如下图所示,在此计算器应用程序中实现“+、-、*、/”运算操作。
代码:import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
@SuppressWarnings("serial")
public class T11 extends JFrame implements ActionListener{
int deng=0,fu=0,i=0,point=0,n=0;
float sum=0,equ;
String v="";
BorderLayout bo=new BorderLayout();
GridLayout g=new GridLayout(4,4);
JPanel jp=new JPanel();
JTextField jt=new JTextField(" 0");
JButton b1=new JButton("7");
JButton b2=new JButton("8");
JButton b3=new JButton("9");
JButton b4=new JButton("+");
JButton b5=new JButton("4");
JButton b6=new JButton("5");
JButton b7=new JButton("6");
JButton b8=new JButton("-");
JButton b9=new JButton("1");
JButton b10=new JButton("2");
JButton b11=new JButton("3");
JButton b12=new JButton("*");
JButton b13=new JButton("0");
JButton b14=new JButton(".");
JButton b15=new JButton("=");
JButton b16=new JButton("/");
@SuppressWarnings("static-access")
public T11(String title)
{
super(title);
this.setSize(300,300);
jp.setSize(300,200);
jt.setSize(300,100);
jp.setLayout(g);
jp.add(b1);
jp.add(b2);
jp.add(b3);
jp.add(b4);
jp.add(b5);
jp.add(b6);
jp.add(b7);
jp.add(b8);
jp.add(b9);
jp.add(b10);
jp.add(b11);
jp.add(b12);
jp.add(b13);
jp.add(b14);
jp.add(b15);
jp.add(b16);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
b10.addActionListener(this);
b11.addActionListener(this);
b12.addActionListener(this);
b13.addActionListener(this);
b14.addActionListener(this);
b15.addActionListener(this);
b16.addActionListener(this);
this.add(jt,bo.NORTH);
this.add(jp,bo.CENTER);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
if(deng==1||fu==1)
v="";
v=v+"7";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b2)
{
if(deng==1||fu==1)
v="";
v=v+"8";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b3)
{
if(deng==1||fu==1)
v="";
v=v+"9";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b4)//+
{
if(n==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1){sum+=Float.parseFloat(v);}
else if(i==2){sum-=Float.parseFloat(v);}
else if(i==3){sum*=Float.parseFloat(v);}
else if(i==4){sum/=Float.parseFloat(v);}
}
else
{
}
i=1;
fu=1;n=0;deng=0;point=0;
}
if(e.getSource()==b5)
{
if(deng==1||fu==1)
v="";
v=v+"4";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b6)
{
if(deng==1||fu==1)
v="";
v=v+"5";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b7)
{
if(deng==1||fu==1)
v="";
v=v+"6";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b8)//-
{
if(n==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1)sum+=Float.parseFloat(v);
else if(i==2)sum-=Float.parseFloat(v);
else if(i==3)sum*=Float.parseFloat(v);
else if(i==4)sum/=Float.parseFloat(v);
}
else
{
}
i=2;
fu=1;n=0;deng=0;point=0;
}
if(e.getSource()==b9)
{
if(deng==1||fu==1)
v="";
v=v+"1";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b10)
{
if(deng==1||fu==1)
v="";
v=v+"2";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b11)
{
if(deng==1||fu==1)
v="";
v=v+"3";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b4)//*
{
if(n==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1)sum+=Float.parseFloat(v);
else if(i==2)sum-=Float.parseFloat(v);
else if(i==3)sum*=Float.parseFloat(v);
else if(i==4)sum/=Float.parseFloat(v);
}
else
{
}
i=3;
fu=1;n=0;deng=0;point=0;
}
if(e.getSource()==b13)
{
if(deng==1||fu==1)
v="";
v=v+"0";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b14)//.
{
if(deng==1||fu==1)
v="";
if("".equals(v))jt.setText("0.");
else
{
v=v+".";
jt.setText(v);
}
point=1;
deng=0;fu=0;n=1;
}
if(e.getSource()==b15)//=
{
if(fu==1){}
else
{
switch(i)
{
case 0: equ=sum;break;
case 1: equ=sum+Float.parseFloat(v);break;
case 2: equ=sum-Float.parseFloat(v);break;
case 3: equ=sum*Float.parseFloat(v);break;
case 4: equ=sum/Float.parseFloat(v);break;
}
sum=0;v="";
v=String.valueOf(equ);
jt.setText(String.valueOf(equ));
deng=1;i=0;
}
}
if(e.getSource()==b16)//+
{
if(n==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1)sum+=Float.parseFloat(v);
else if(i==2)sum-=Float.parseFloat(v);
else if(i==3)sum*=Float.parseFloat(v);
else if(i==4)sum/=Float.parseFloat(v);
}
else
{
}
i=4;
fu=1;n=0;deng=0;point=0;
}
}
public static void main(String[]args)
{
new T11("计算器");
}
}
代码:import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
@SuppressWarnings("serial")
public class T11 extends JFrame implements ActionListener{
int deng=0,fu=0,i=0,point=0,n=0;
float sum=0,equ;
String v="";
BorderLayout bo=new BorderLayout();
GridLayout g=new GridLayout(4,4);
JPanel jp=new JPanel();
JTextField jt=new JTextField(" 0");
JButton b1=new JButton("7");
JButton b2=new JButton("8");
JButton b3=new JButton("9");
JButton b4=new JButton("+");
JButton b5=new JButton("4");
JButton b6=new JButton("5");
JButton b7=new JButton("6");
JButton b8=new JButton("-");
JButton b9=new JButton("1");
JButton b10=new JButton("2");
JButton b11=new JButton("3");
JButton b12=new JButton("*");
JButton b13=new JButton("0");
JButton b14=new JButton(".");
JButton b15=new JButton("=");
JButton b16=new JButton("/");
@SuppressWarnings("static-access")
public T11(String title)
{
super(title);
this.setSize(300,300);
jp.setSize(300,200);
jt.setSize(300,100);
jp.setLayout(g);
jp.add(b1);
jp.add(b2);
jp.add(b3);
jp.add(b4);
jp.add(b5);
jp.add(b6);
jp.add(b7);
jp.add(b8);
jp.add(b9);
jp.add(b10);
jp.add(b11);
jp.add(b12);
jp.add(b13);
jp.add(b14);
jp.add(b15);
jp.add(b16);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
b10.addActionListener(this);
b11.addActionListener(this);
b12.addActionListener(this);
b13.addActionListener(this);
b14.addActionListener(this);
b15.addActionListener(this);
b16.addActionListener(this);
this.add(jt,bo.NORTH);
this.add(jp,bo.CENTER);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
if(deng==1||fu==1)
v="";
v=v+"7";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b2)
{
if(deng==1||fu==1)
v="";
v=v+"8";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b3)
{
if(deng==1||fu==1)
v="";
v=v+"9";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b4)//+
{
if(n==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1){sum+=Float.parseFloat(v);}
else if(i==2){sum-=Float.parseFloat(v);}
else if(i==3){sum*=Float.parseFloat(v);}
else if(i==4){sum/=Float.parseFloat(v);}
}
else
{
}
i=1;
fu=1;n=0;deng=0;point=0;
}
if(e.getSource()==b5)
{
if(deng==1||fu==1)
v="";
v=v+"4";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b6)
{
if(deng==1||fu==1)
v="";
v=v+"5";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b7)
{
if(deng==1||fu==1)
v="";
v=v+"6";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b8)//-
{
if(n==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1)sum+=Float.parseFloat(v);
else if(i==2)sum-=Float.parseFloat(v);
else if(i==3)sum*=Float.parseFloat(v);
else if(i==4)sum/=Float.parseFloat(v);
}
else
{
}
i=2;
fu=1;n=0;deng=0;point=0;
}
if(e.getSource()==b9)
{
if(deng==1||fu==1)
v="";
v=v+"1";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b10)
{
if(deng==1||fu==1)
v="";
v=v+"2";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b11)
{
if(deng==1||fu==1)
v="";
v=v+"3";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b4)//*
{
if(n==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1)sum+=Float.parseFloat(v);
else if(i==2)sum-=Float.parseFloat(v);
else if(i==3)sum*=Float.parseFloat(v);
else if(i==4)sum/=Float.parseFloat(v);
}
else
{
}
i=3;
fu=1;n=0;deng=0;point=0;
}
if(e.getSource()==b13)
{
if(deng==1||fu==1)
v="";
v=v+"0";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b14)//.
{
if(deng==1||fu==1)
v="";
if("".equals(v))jt.setText("0.");
else
{
v=v+".";
jt.setText(v);
}
point=1;
deng=0;fu=0;n=1;
}
if(e.getSource()==b15)//=
{
if(fu==1){}
else
{
switch(i)
{
case 0: equ=sum;break;
case 1: equ=sum+Float.parseFloat(v);break;
case 2: equ=sum-Float.parseFloat(v);break;
case 3: equ=sum*Float.parseFloat(v);break;
case 4: equ=sum/Float.parseFloat(v);break;
}
sum=0;v="";
v=String.valueOf(equ);
jt.setText(String.valueOf(equ));
deng=1;i=0;
}
}
if(e.getSource()==b16)//+
{
if(n==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1)sum+=Float.parseFloat(v);
else if(i==2)sum-=Float.parseFloat(v);
else if(i==3)sum*=Float.parseFloat(v);
else if(i==4)sum/=Float.parseFloat(v);
}
else
{
}
i=4;
fu=1;n=0;deng=0;point=0;
}
}
public static void main(String[]args)
{
new T11("计算器");
}
}
import javax.swing.*;
import java.awt.event.*;
@SuppressWarnings("serial")
public class T11 extends JFrame implements ActionListener{
int deng=0,fu=0,i=0,point=0,n=0;
float sum=0,equ;
String v="";
BorderLayout bo=new BorderLayout();
GridLayout g=new GridLayout(4,4);
JPanel jp=new JPanel();
JTextField jt=new JTextField(" 0");
JButton b1=new JButton("7");
JButton b2=new JButton("8");
JButton b3=new JButton("9");
JButton b4=new JButton("+");
JButton b5=new JButton("4");
JButton b6=new JButton("5");
JButton b7=new JButton("6");
JButton b8=new JButton("-");
JButton b9=new JButton("1");
JButton b10=new JButton("2");
JButton b11=new JButton("3");
JButton b12=new JButton("*");
JButton b13=new JButton("0");
JButton b14=new JButton(".");
JButton b15=new JButton("=");
JButton b16=new JButton("/");
@SuppressWarnings("static-access")
public T11(String title)
{
super(title);
this.setSize(300,300);
jp.setSize(300,200);
jt.setSize(300,100);
jp.setLayout(g); jp.add(b1);
jp.add(b2);
jp.add(b3);
jp.add(b4);
jp.add(b5);
jp.add(b6);
jp.add(b7);
jp.add(b8);
jp.add(b9);
jp.add(b10);
jp.add(b11);
jp.add(b12);
jp.add(b13);
jp.add(b14);
jp.add(b15);
jp.add(b16); b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
b10.addActionListener(this);
b11.addActionListener(this);
b12.addActionListener(this);
b13.addActionListener(this);
b14.addActionListener(this);
b15.addActionListener(this);
b16.addActionListener(this);
this.add(jt,bo.NORTH);
this.add(jp,bo.CENTER);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
if(deng==1||fu==1)
v="";
v=v+"7";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b2)
{
if(deng==1||fu==1)
v="";
v=v+"8";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b3)
{
if(deng==1||fu==1)
v="";
v=v+"9";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b4)//+
{
if(n==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1){sum+=Float.parseFloat(v);}
else if(i==2){sum-=Float.parseFloat(v);}
else if(i==3){sum*=Float.parseFloat(v);}
else if(i==4){sum/=Float.parseFloat(v);}
}
else
{
}
i=1;
fu=1;n=0;deng=0;point=0; }
if(e.getSource()==b5)
{
if(deng==1||fu==1)
v="";
v=v+"4";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b6)
{
if(deng==1||fu==1)
v="";
v=v+"5";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b7)
{
if(deng==1||fu==1)
v="";
v=v+"6";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b8)//-
{
if(n==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1)sum+=Float.parseFloat(v);
else if(i==2)sum-=Float.parseFloat(v);
else if(i==3)sum*=Float.parseFloat(v);
else if(i==4)sum/=Float.parseFloat(v);
}
else
{
}
i=2;
fu=1;n=0;deng=0;point=0; }
if(e.getSource()==b9)
{
if(deng==1||fu==1)
v="";
v=v+"1";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b10)
{
if(deng==1||fu==1)
v="";
v=v+"2";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b11)
{
if(deng==1||fu==1)
v="";
v=v+"3";
jt.setText(v);
deng=0;fu=0;n=1;
} // ioe_gaoyong添加
if(e.getSource()==b12)//-
{
if(n==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1)sum+=Float.parseFloat(v);
else if(i==2)sum-=Float.parseFloat(v);
else if(i==3)sum*=Float.parseFloat(v);
else if(i==4)sum/=Float.parseFloat(v);
}
else
{
}
i=3;
fu=1;n=0;deng=0;point=0; } // ioe_gaoyong添加结束 if(e.getSource()==b4)//*
{
if(n==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1)sum+=Float.parseFloat(v);
else if(i==2)sum-=Float.parseFloat(v);
else if(i==3)sum*=Float.parseFloat(v);
else if(i==4)sum/=Float.parseFloat(v);
}
else
{
}
i=1;//这里修改
fu=1;n=0;deng=0;point=0; } if(e.getSource()==b13)
{
if(deng==1||fu==1)
v="";
v=v+"0";
jt.setText(v);
deng=0;fu=0;n=1;
}
if(e.getSource()==b14)//.
{
if(deng==1||fu==1)
v="";
if("".equals(v))jt.setText("0.");
else
{
v=v+".";
jt.setText(v);
}
point=1;
deng=0;fu=0;n=1; }
if(e.getSource()==b15)//=
{
if(fu==1){}
else
{
switch(i)
{
case 0: equ=sum;break;
case 1: equ=sum+Float.parseFloat(v);break;
case 2: equ=sum-Float.parseFloat(v);break;
case 3: equ=sum*Float.parseFloat(v);break;
case 4: equ=sum/Float.parseFloat(v);break;
}
sum=0;v="";
v=String.valueOf(equ);
jt.setText(String.valueOf(equ));
deng=1;i=0; }
}
if(e.getSource()==b16)//+
{
if(n==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1)sum+=Float.parseFloat(v);
else if(i==2)sum-=Float.parseFloat(v);
else if(i==3)sum*=Float.parseFloat(v);
else if(i==4)sum/=Float.parseFloat(v);
}else{
}
i=4;
fu=1;n=0;deng=0;point=0; }
}
public static void main(String[]args){
new T11("计算器");
}
}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
@SuppressWarnings("serial")
public class T1 extends JFrame implements ActionListener{ int enter_eql=0,enter_digital=0,enter_operator=0,enter_point=0,i=0;
float sum=0,s1,s2,eql;
String v="";
GridLayout gl=new GridLayout(2,1);
JPanel jptext=new JPanel();
JPanel jb=new JPanel();
JTextField jtf=new JTextField(20);
JButton j0=new JButton("0");
JButton j1=new JButton("1");
JButton j2=new JButton("2");
JButton j3=new JButton("3");
JButton j4=new JButton("4");
JButton j5=new JButton("5");
JButton j6=new JButton("6");
JButton j7=new JButton("7");
JButton j8=new JButton("8");
JButton j9=new JButton("9");
JButton j_Add=new JButton("+");
JButton j_Minus=new JButton("-");
JButton j_Multiplied=new JButton("*");
JButton j_Divide=new JButton("/");
JButton j_Point=new JButton(".");
JButton j_Equal=new JButton("=");
public T1()
{
super("我的计算器");
this.setLayout(gl);
jptext.add(jtf);
this.add(jptext);
jb.setLayout(new GridLayout(4,4));
j0.addActionListener(this);
j1.addActionListener(this);
j2.addActionListener(this);
j3.addActionListener(this);
j4.addActionListener(this);
j5.addActionListener(this);
j6.addActionListener(this);
j7.addActionListener(this);
j8.addActionListener(this);
j9.addActionListener(this);
j_Add.addActionListener(this);
j_Minus.addActionListener(this);
j_Multiplied.addActionListener(this);
j_Divide.addActionListener(this);
j_Point.addActionListener(this);
j_Equal.addActionListener(this);
jb.add(j0);
jb.add(j1);
jb.add(j2);
jb.add(j3);
jb.add(j4);
jb.add(j5);
jb.add(j6);
jb.add(j7);
jb.add(j8);
jb.add(j9);
jb.add(j_Add);
jb.add(j_Minus);
jb.add(j_Multiplied);
jb.add(j_Divide);
jb.add(j_Point);
jb.add(j_Equal);
this.add(jb);
pack();
this.setVisible(true);
Toolkit tk = this.getToolkit();
Dimension de = tk.getScreenSize();
setBounds((de.width - this.getWidth()) / 2,(de.height - this.getHeight()) / 2, this.getWidth(), this.getHeight());
//使之居于屏幕正中央
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==j0)
{
if(enter_operator==1||enter_eql==1)//enter_operator==1表示按了运算符号,enter_eql==1表示按了=
v="";
v=v+"0";
jtf.setText(v);
enter_operator=0;
enter_digital=1;//表示按了数字
enter_eql=0;
}
if(e.getSource()==j1)
{
if(enter_operator==1||enter_eql==1)
v="";
v=v+"1";
jtf.setText(v);
enter_operator=0;
enter_digital=1;
enter_eql=0;
}
if(e.getSource()==j2)
{
if(enter_operator==1||enter_eql==1)
v="";
v=v+"2";
jtf.setText(v);
enter_operator=0;
enter_digital=1;
enter_eql=0;
}
if(e.getSource()==j3)
{
if(enter_operator==1||enter_eql==1)
v="";
v=v+"3";
jtf.setText(v);
enter_operator=0;
enter_digital=1;
enter_eql=0;
}
if(e.getSource()==j4)
{
if(enter_operator==1||enter_eql==1)
v="";
v=v+"4";
jtf.setText(v);
enter_operator=0;
enter_digital=1;
enter_eql=0;
}
if(e.getSource()==j5)
{
if(enter_operator==1||enter_eql==1)
v="";
v=v+"5";
jtf.setText(v);
enter_operator=0;
enter_digital=1;
enter_eql=0;
}
if(e.getSource()==j6)
{
if(enter_operator==1||enter_eql==1)
v="";
v=v+"6";
jtf.setText(v);
enter_operator=0;
enter_digital=1;
enter_eql=0;
}
if(e.getSource()==j7)
{
if(enter_operator==1||enter_eql==1)
v="";
v=v+"7";
jtf.setText(v);
enter_operator=0;
enter_digital=1;
enter_eql=0;
}
if(e.getSource()==j8)
{
if(enter_operator==1||enter_eql==1)
v="";
v=v+"8";
jtf.setText(v);
enter_operator=0;
enter_digital=1;
enter_eql=0;
}
if(e.getSource()==j9)
{
if(enter_operator==1||enter_eql==1)
v="";
v=v+"9";
jtf.setText(v);
enter_operator=0;
enter_digital=1;
enter_eql=0;
}
if(e.getSource()==j_Add)
{
if(enter_digital==1)
{
if(i==0)//i==0表示第一次按运算符,i不等于0表示多次运算
sum=Float.parseFloat(v);
else if(i==1){sum=sum+Float.parseFloat(v);}
else if(i==2){sum=sum-Float.parseFloat(v);}
else if(i==3){sum=sum*Float.parseFloat(v);}
else if(i==4){sum=sum/Float.parseFloat(v);}
}
else{}
enter_operator=1;
enter_digital=0;
enter_point=0;
enter_eql=0;
i=1;
}
if(e.getSource()==j_Minus)
{
if(enter_digital==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1)sum=sum+Float.parseFloat(v);
else if(i==2)sum=sum-Float.parseFloat(v);
else if(i==3)sum=sum*Float.parseFloat(v);
else if(i==4)sum=sum/Float.parseFloat(v);
}
else{}
enter_eql=0;
enter_operator=1;
enter_digital=0;
enter_point=0;
i=2;
}
if(e.getSource()==j_Multiplied)
{
if(enter_digital==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1)sum=sum+Float.parseFloat(v);
else if(i==2)sum=sum-Float.parseFloat(v);
else if(i==3)sum=sum*Float.parseFloat(v);
else if(i==4)sum=sum/Float.parseFloat(v);
}
else{}
enter_eql=0;
enter_operator=1;
enter_digital=0;
enter_point=0;
i=3;
}
if(e.getSource()==j_Divide)
{
if(enter_digital==1)
{
if(i==0)
sum=Float.parseFloat(v);
else if(i==1)sum=sum+Float.parseFloat(v);
else if(i==2)sum=sum-Float.parseFloat(v);
else if(i==3)sum=sum*Float.parseFloat(v);
else if(i==4)sum=sum/Float.parseFloat(v);
}
else{}
enter_eql=0;
enter_operator=1;
enter_digital=0;
enter_point=0;
i=4;
}
if(e.getSource()==j_Point)
{
if(enter_operator==1||enter_eql==1)
v="";
if(enter_point==0)
{
if("".equals(v))
v="0.";
else v=v+".";
}
enter_digital=1;
enter_point=1;
enter_operator=0;
enter_eql=0;
}
if(e.getSource()==j_Equal)
{
if(enter_digital==1)
{
}
else
{
if(v=="")
{
}
else
{
s1=sum;
s2=Float.parseFloat(v);
switch(i)
{
case 0:eql=Float.parseFloat(v);break;
case 1:eql=s1+s2;break;
case 2: eql=s1-s2;break;
case 3:eql=s1*s2;break;
case 4:eql=s1/s2;break;
}
sum=0;
//enter_operator=1;
v="";
v=String.valueOf(eql);
jtf.setText(String.valueOf(eql));
i=0;
enter_eql=1;
}
}
}
}
public static void main(String[]args)
{
new T1();
}}
http://www.oschina.net/code/snippet_736932_13725