第1个回答 2010-07-04
import java.awt.*;
import java.awt.event.*;
class jisuanqi
{
public static void main(String[] args)
{
bord bord1=new bord();
}
}
class bord extends Frame
{
float arg=0,n=0,b=0;
int op=0,op1=0,flag=0;
public Label prompt = new Label( " hello ");
Button btn0=new Button( "0 ");
Button btn1=new Button( "1 ");
Button btn2=new Button( "2 ");
Button btn3=new Button( "3 ");
Button btn4=new Button( "4 ");
Button btn5=new Button( "5 ");
Button btn6=new Button( "6 ");
Button btn7=new Button( "7 ");
Button btn8=new Button( "8 ");
Button btn9=new Button( "9 ");
Button btnP=new Button( ". ");
Button btnAdd=new Button( "+ ");
Button btnSub=new Button( "- ");
Button btnMul=new Button( "× ");
Button btnDiv=new Button( "÷ ");
Button btnEqu=new Button( "= ");
addor num=new addor();
bord(){
setLayout(new BorderLayout());
add( "North ",prompt);
Panel f=new Panel();
f.setLayout(new GridLayout(4,4));
f.add(btn7);
f.add(btn8);
f.add(btn9);
f.add(btnAdd);
f.add(btn4);
f.add(btn5);
f.add(btn6);
f.add(btnSub);
f.add(btn1);
f.add(btn2);
f.add(btn3);
f.add(btnMul);
f.add(btn0);
f.add(btnP);
f.add(btnEqu);
f.add(btnDiv);
add( "Center ",f);
setSize(400,300);
setVisible(true);
btn0.addActionListener(num);
btn1.addActionListener(num);
btn2.addActionListener(num);
btn3.addActionListener(num);
btn4.addActionListener(num);
btn5.addActionListener(num);
btn6.addActionListener(num);
btn7.addActionListener(num);
btn8.addActionListener(num);
btn9.addActionListener(num);
btnAdd.addActionListener(num);
btnSub.addActionListener(num);
btnMul.addActionListener(num);
btnDiv.addActionListener(num);
btnEqu.addActionListener(num);
}
public boolean handleEvent(Event evt){
if(evt.id==Event.WINDOW_DESTROY)
System.exit(0);
return super.handleEvent(evt);
}
class addor implements ActionListener{
public void actionPerformed(ActionEvent e){
if (e.getSource()==btn0)b=0;
if (e.getSource()==btn1)b=1;
if (e.getSource()==btn2){b=2;}
if (e.getSource()==btn3){b=3;}
if (e.getSource()==btn4){b=4;}
if (e.getSource()==btn5){b=5;}
if (e.getSource()==btn6){b=6;}
if (e.getSource()==btn7){b=7;}
if (e.getSource()==btn8){b=8;}
if (e.getSource()==btn9){b=9;}
if (e.getSource()==btnAdd){op1=1;}
if (e.getSource()==btnSub){op1=2;}
if (e.getSource()==btnMul){op1=3;}
if (e.getSource()==btnDiv){op1=4;}
if (e.getSource()==btnEqu){op1=5;}
if(flag==0){
op=op1;
}
if(op1==0){
n=n*10+b;
System.out.println( "b: "+b);
prompt.setText( "hh "+n);
}
if(op1!=0){
if (op==1)
{ arg+=n;
}
if (op==2)
{ arg-=n;
}
if (op==3)
{
arg*=n;
}
if (op==4)
{ arg/=n;
}
if (op==5)
{
arg=arg+0;
}
flag=1;//用于第一次计算时给op赋值
n=0;
op=op1;
op1=0;
prompt.setText( "kk "+arg);
}
}
}
}