帮我看看java计算器 我实在是看不出问题在那里
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class jisuan extends WindowAdapter{
JTextField text;
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
static double a;
static String s, str;
public jisuan(){
super("计算器");
Container c=getContentPane();
setResizable(false);//让窗口不能调节大小
setLocationRelativeTo(null);
GridBagLayout gbl=new GridBagLayout();
GridBagConstraints gbc=new GridBagConstraints();
p3.setLayout(gbl);
text=new JTextField(21);
gbc.fill=GridBagConstraints.NONE;
gbc.anchor=GridBagConstraints.CENTER;
gbl.setConstraints(text,gbc);
p1.add(text,"North");
JButton b1=new JButton("7");
p2.add(b1);
b1.addActionListener(new buttonlistener());
JButton b2=new JButton("8");
p2.add(b2);
b2.addActionListener(new buttonlistener());
JButton b3=new JButton("9");
p2.add(b3);
b3.addActionListener(new buttonlistener());
JButton b4=new JButton("/");
p2.add(b4);
b4.addActionListener(new buttonlistener());
JButton b5=new JButton("4");
p2.add(b5);
b5.addActionListener(new buttonlistener());
JButton b6=new JButton("5");
p2.add(b6);
b6.addActionListener(new buttonlistener());
JButton b7=new JButton("6");
p2.add(b7);
b7.addActionListener(new buttonlistener());
JButton b8=new JButton("*");
p2.add(b8);
b8.addActionListener(new buttonlistener());
JButton b9=new JButton("1");
p2.add(b9);
b9.addActionListener(new buttonlistener());
JButton b10=new JButton("2");
p2.add(b10);
b10.addActionListener(new buttonlistener());
JButton b11=new JButton("3");
p2.add(b11);
b11.addActionListener(new buttonlistener());
JButton b12=new JButton("-");
p2.add(b12);
b12.addActionListener(new buttonlistener());
JButton b13=new JButton("0");
p2.add(b13);
b13.addActionListener(new buttonlistener());
JButton b14=new JButton(".");
p2.add(b14);
b14.addActionListener(new buttonlistener());
JButton b15=new JButton("=");
p2.add(b15);
b15.addActionListener(new buttonlistener());
JButton b16=new JButton("+");
p2.add(b16);
b16.addActionListener(new buttonlistener());
JButton b17=new JButton("清零");
gbc.fill=GridBagConstraints.BOTH;
gbc.weightx=1.0;
gbc.weighty=1.0;
gbl.setConstraints(b17,gbc);
p3.add(b17);
JButton b18=new JButton("结束");
b18.addActionListener(new close());
p3.add(b18);
c.addWindowListener(this);
p2.setLayout(new GridLayout(4,0));
c.add(p1,"North");
c.add(p2,"Center");
c.add(p3,"South");
c.setVisible(true);
text.setEditable(false);//文本框不可编写只能按钮输入
text.setHorizontalAlignment(JTextField.RIGHT);//文本框设置焦点起始位置为又
}
class buttonlistener implements ActionListener{
public void actionPerformed(ActionEvent e){
Button button= (Button) e.getSource();
if(button.getLabel()=="="){
suan();
str=String.valueOf(a);
text.setText(str);
s="";
}else if (button.getLabel()=="+"){
suan();
text.setText("");
s="+";
}else if (button.getLabel()=="-"){
suan();
text.setText("");
s="-";
}else if (button.getLabel()=="/"){
suan();
text.setText("");
s="/";
}else if (button.getLabel()=="*"){
suan();
text.setText("");
s="*";
}else{
text.setText(text.getText()+button.getLabel());
if(button.getLabel()=="清零")
text.setText("");
}
}
public void suan() {
if (s == "+")
a += Double.parseDouble(text.getText());
else if (s == "-")
a -= Double.parseDouble(text.getText());
else if (s == "*")
a *= Double.parseDouble(text.getText());
else if (s == "/")
a /= Double.parseDouble(text.getText());
else
a = Double.parseDouble(text.getText());
}
}
class close implements ActionListener {//退出
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
public static void main(String args[]){
JFrame frame=new jisuan();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(250,230);
frame.setVisible(true);
}
}