代码如下,请多多指教
import java.awt.BorderLayout;import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridLayout;
import java.awt.GridBagLayout;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class Calcutor extends JFrame{

private double num1;   //用于计算的数字
private double num2;
private double resault;  //保存计算结果

//定义存储三个输入的数字和符号
private String str1;
private String str2;
private String str3;


private Container container;
private GridBagLayout layout;
private GridBagConstraints constraints;

public JButton button7=new JButton("7");
public JButton button8=new JButton("8");
public JButton button9=new JButton("9");
public JButton buttonc=new JButton("/");
public JButton buttonsqrt=new JButton("sqrt");

public JButton button4=new JButton("4");
public JButton button5=new JButton("5");
public JButton button6=new JButton("6");
public JButton buttonsheng=new JButton("*");
public JButton buttonyu=new JButton("%");

public JButton button1=new JButton("1");
public JButton button2=new JButton("2");
public JButton button3=new JButton("3");
public JButton buttonm=new JButton("-");
public JButton buttonx=new JButton("1/x");

public JButton button0=new JButton("0");
public JButton buttont=new JButton("+/-");
public JButton buttondian=new JButton(".");
public JButton buttonadd=new JButton("+");
public JButton buttonresualt=new JButton("=");


    public JButton buttonback=new JButton("backspace");
    public JButton buttonce=new JButton("CE");
    public JButton buttonC=new JButton("C");
    
    public JButton buttonnull=new JButton("帮助");
    public JButton buttonMC=new JButton("MC");
    public JButton buttonMR=new JButton("MR");
    public JButton buttonMS=new JButton("MS");
    public JButton buttonM=new JButton("M+");
    

public JPanel p1=new JPanel(new GridLayout(4,5,5,5));

public JPanel p2=new JPanel(new GridLayout(1,3,5,5));

public JPanel p3=new JPanel(new GridLayout(5,1,5,5));

public JPanel p4=new JPanel(new BorderLayout());
public JPanel p5=new JPanel(new BorderLayout());
public JPanel p6=new JPanel(new BorderLayout());
public JPanel p7=new JPanel(new BorderLayout());

public JTextField  text=new JTextField();

public JMenuBar bar=new JMenuBar();

public JMenu mune1=new JMenu("编辑");
public JMenu mune2=new JMenu("查看");
public JMenu mune3=new JMenu("帮助");

public JMenuItem  itemfuzhi=new JMenuItem("复制");
public JMenuItem  itemzhantie=new JMenuItem("粘贴");

public JMenuItem  item1=new JMenuItem("标准型");
public JMenuItem  item2=new JMenuItem("科学性");
public JMenuItem  item3=new JMenuItem("数字分组");

public JMenuItem  itemhelp=new JMenuItem("帮助");
public JMenuItem  itemcaculater=new JMenuItem("关于计算机");



public Calcutor(){
Container container=new Container();
 GridBagLayout layout=new GridBagLayout();
    GridBagConstraints constraints=new GridBagConstraints() ;
 container.setLayout(layout);
 
p1.add(button7);
p1.add(button8);
p1.add(button9);
p1.add(buttonc);
p1.add(buttonsqrt);

p1.add(button4);
p1.add(button5);
p1.add(button6);
p1.add(buttonsheng);
p1.add(buttonyu);

p1.add(button1);
p1.add(button2);
p1.add(button3);
p1.add(buttonm);
p1.add(buttonx);

p1.add(button0);
p1.add(buttont);
p1.add(buttondian);
p1.add(buttonadd);
p1.add(buttonresualt);



p2.add(buttonback);
p2.add(buttonce);
p2.add(buttonC);

p3.add(buttonnull);
p3.add(buttonMC);
p3.add(buttonMR);
p3.add(buttonMS);
p3.add(buttonM);

bar.add(mune1);
bar.add(mune2);
bar.add(mune3);
mune1.add(itemfuzhi);
mune1.add(itemzhantie);

mune2.add(item1);
mune2.add(item2);
mune2.add(item3);

mune3.add(itemhelp);
mune3.add(itemcaculater);

p4.add(p2,BorderLayout.NORTH);
p4.add(p1,BorderLayout.SOUTH);

p5.add(p3,BorderLayout.WEST);
p5.add(p4,BorderLayout.EAST);

p6.add(text,BorderLayout.NORTH);
p6.add(p5,BorderLayout.SOUTH);

p7.add(bar,BorderLayout.NORTH);
p7.add(p6,BorderLayout.SOUTH);

add(p7);
actions();
}

public void actions(){
buttonresualt.addActionListener(new ResaultAction(buttonresualt));
button1.addActionListener(new Action(button1));
button2.addActionListener(new Action(button2));
button3.addActionListener(new Action(button3));
button4.addActionListener(new Action(button4));
button5.addActionListener(new Action(button5));
button6.addActionListener(new Action(button6));
button7.addActionListener(new Action(button7));
button8.addActionListener(new Action(button8));
button9.addActionListener(new Action(button9));
button0.addActionListener(new Action(button0));
buttondian.addActionListener(new Action(buttondian));

buttonC.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
text.setText("");
}
});

buttonce.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent e){
text.setText("");
}
});
buttonback.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent e){
String s=text.getText();
text.setText(s.substring(0, s.length()-1));
}
});



buttonadd.addActionListener(new  Fuhao(buttonadd));    //+
buttonsheng.addActionListener(new Fuhao(buttonsheng));//*
buttonc.addActionListener(new Fuhao(buttonc));// chu
buttonsqrt.addActionListener(new  Fuhao(buttonsqrt));//pingfang
buttonm.addActionListener(new  Fuhao(buttonm));//   -
buttonx.addActionListener(new  Fuhao(buttonx));  //   1/x
buttonyu.addActionListener(new  Fuhao(buttonyu));//    %

buttonnull.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null, "该计算器是模仿系统计算机标准类型写的  \n制作者: ***");
}
});
buttonMC.addActionListener(new NoAction (buttonMC));
buttonMR.addActionListener(new NoAction (buttonMR));
buttonMS.addActionListener(new NoAction (buttonMS));
buttonM.addActionListener(new NoAction (buttonM));
}


private class Action implements ActionListener{
JButton button;
public Action(JButton button){
this.button=button;
}
public void actionPerformed(ActionEvent e){

if(str1==null){
String s=text.getText()+button.getText();
text.setText(s);
}
else{
if(str2==null){
str2=button.getText();
System.out.println(str2);
}
else{
String s=text.getText()+button.getText();
text.setText(s);
}
}

}
}

private class Fuhao implements ActionListener{
        JButton button ;
        public Fuhao(JButton button){
         this.button=button;
        }
public void actionPerformed(ActionEvent e) {
        
str1=text.getText();//把str1初始化
text.setText("");
System.out.println(str1);
            str2=button.getText();

}

}
private class ResaultAction implements ActionListener{
 JButton button;
 public ResaultAction(JButton button){
 this.button=button;
 }
public void actionPerformed(ActionEvent e) {
str3=text.getText();
if((str2).equals("+")){       
num1=Double.parseDouble(str1);
str1=null;     //重置str1
num2=Double.parseDouble(str3);
str2=null;//重置str2
str3=null;//重置str3
resault=num1+num2;
System.out.println(resault);
String s=resault+"";
text.setText(s);
System.out.println(resault);
resault=0.0;   //重新初始化

}

else if((str2).equals("-")){

num1=Double.parseDouble(str1);
str1=null;     //重置str1
num2=Double.parseDouble(str3);
str2=null;//重置str2
str3=null;//重置str3
resault=num1-num2;
String s=resault+"";
text.setText(s);
resault=0.0;

}
else if((str2).equals("*")){
num1=Double.parseDouble(str1);
str1=null;     //重置str1
num2=Double.parseDouble(str3);
str2=null;//重置str2
str3=null;//重置str3

resault=num1*num2;
String s=resault+"";

text.setText(s);
resault=0.0;

}
else if((str2).equals("/")){
num1=Double.parseDouble(str1);
str1=null;     //重置str1
num2=Double.parseDouble(str3);
str2=null;//重置str2
str3=null;//重置str3

resault=num1/num2+num1%num2;
System.out.println(resault);
String s=""+resault;
text.setText(s);
resault=0.0;

}
else if((str2).equals("sqrt")){
num1=Double.parseDouble(str1);
str1=null;     //重置str1
resault=num1*num1;
String s=resault+"";
text.setText(s);
resault=0.0;
text.setText("");
}
else if((str2).equals("1/x")){
num1=Double.parseDouble(str1);
str1=null;     //重置str1
resault=1/num1+1%num1;
String s=resault+"";
text.setText(s);
resault=0.0;
}
else if((str2).equals("%")){
num1=Double.parseDouble(str1);
str1=null;     //重置str1
num2=Double.parseDouble(str3);
str2=null;     //重置str1
resault=num1%num2;
String s=resault+"";
text.setText(s);
resault=0.0;
}
}
}

private class NoAction implements ActionListener{
        JButton button ;
        public NoAction (JButton button){
         this.button =button;
        }
public void actionPerformed(ActionEvent e) {
String s="目前没有提供这个功能  请清除屏幕后在继续操作";
text.setText(s);

}

}
public static void main(String agrs[]){

Calcutor  button=new Calcutor();
button.setTitle("计算器---标准");
button.setSize(370,280);
button.setResizable(false);
button.setVisible(true);
button.setLocationRelativeTo(null);
button.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


}
}