|
import java.awt.*;
import java.awt.event.*;
public class test
{
String[] name = {"7","8","9","CE","sqrt","4","5","6","*","%","1","2","3","-","1/x","0","+/-",".","+","=" };
Frame f=new Frame("簡易計算機");
Panel p=new Panel(),q=new Panel();
TextField t=new TextField(30);
Button b[]=new Button[name.length];
double op1,op2,op3;
char temp,op;
boolean puanduan=false;
ActionListener buttonListener=new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String temp=e.getActionCommand();
if(temp.equals("+")||temp.equals("-")||temp.equals("*")||temp.equals("/"))
{
op=temp.charAt(0);
op1=Double.parseDouble(t.getText());
t.setText(op1+"");
puanduan=true;
}
else if(temp.equals("="))
{
switch (op)
{
case '+':
op3=op1+op2;
t.setText(op3+"");
break;
case '-':
op3=op1-op2;
t.setText(op3+"");
break;
case '*':
op3=op1*op2;
t.setText(op3+"");
break;
case '/':
op3=op1/op2;
t.setText(op3+"");
break;
}
}
else if(temp.equals("CE"))
t.setText("");
else
{
if(puanduan==false)
t.setText(t.getText()+temp);
if(puanduan==true)
{
t.setText(""+temp);
op2=Double.parseDouble(t.getText());
puanduan=true;
}
}
};
};
public void set()
{
f.setSize(250,200);
p.add(t);
f.add(p,BorderLayout.NORTH);
f.add(q);
q.setLayout(new GridLayout(4,5,4,4));
for(int i=0;i<name.length;i++)
{
b[i]=new Button(name[i]);
b[i].addActionListener(buttonListener);
q.add(b[i]);
}
f.setVisible(true);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main(String args[])
{
test t=new test();
t.set();
}
}
請問一下高手
Q1:
if(temp.equals("+")||temp.equals("-")||temp.equals("*")||temp.equals("/"))
{
op=temp.charAt(0);
op1=Double.parseDouble(t.getText());
t.setText(op1+"");
puanduan=true;
}
這段Code中,puanduan=true;為何?
Q2:
else
{
if(puanduan==false)
t.setText(t.getText()+temp);
if(puanduan==true)
{
t.setText(""+temp);
op2=Double.parseDouble(t.getText());
puanduan=true;
}
}
請問一下這段Code意義在哪
如有高手能解疑惑 非常感激不盡 |
|