以下代码是我写的java计算器代码 的主要部分 其他的都是jbuilder自动生成的 在这里不粘贴出来了 但是当按下操作符(+ - * / =)时  文本框里显示的总是0.0 百思不得其解  望指教  编译能通过boolean end,first;
    double num1,num2,num;
    int sign;
    void number(String s){
        if(end){
            jTextField1.setText(s);
            end=false;
        }
        else if(jTextField1.getText().equals("0")){
            jTextField1.setText(s);
        }
        else{
            String str=jTextField1.getText()+s;
            jTextField1.setText(str);
        }
    }
    void operator(int s){
        if(first){
            num1=Double.parseDouble(jTextField1.getText());
            sign=s;
            first=false;
            end=true;
        }
        else{
            num2=Double.parseDouble(jTextField1.getText());
           if(s==1){
              num=num1+num2;                                                                                       
           }
           else if(s==2){
                num=num1-num2;
           }
           else if(s==3){
               num=num1*num2;
           }
           else if(s==4){
               num=num1/num2;
           }
            }
            num1=num;
            sign=s;
            jTextField1.setText(String.valueOf(num1));
            end=true;
            if(s==0)
            first = true;
            this.requestFocus(true);
        
    }
    public void jButton4_actionPerformed(ActionEvent e) {
       number("1");
    }
    public void jButton5_actionPerformed(ActionEvent e) {
        number("2");
    }
    public void jButton6_actionPerformed(ActionEvent e) {
        number("3");
    }
    public void jButton10_actionPerformed(ActionEvent e) {
        number("4");
    }
    public void jButton11_actionPerformed(ActionEvent e) {
        number("5");
    }
    public void jButton8_actionPerformed(ActionEvent e) {
        number("6");
    }
    public void jButton15_actionPerformed(ActionEvent e) {
        number("7");
    }
    public void jButton12_actionPerformed(ActionEvent e) {
        number("8");
    }
    public void jButton14_actionPerformed(ActionEvent e) {
        number("9");
    }
    public void jButton16_actionPerformed(ActionEvent e) {
        String str=jTextField1.getText();
             if(str.indexOf(".")<0) {
                 str += ".";
                 jTextField1.setText("str");
             }        
    }
    public void jTextField1_actionPerformed(ActionEvent e) {
    }
    public void jButton13_actionPerformed(ActionEvent e) {
String str=jTextField1.getText();
        if(str.indexOf("-")<0){
            str="-"+str;
            jTextField1.setText(str);
        }
        else{
            String substr=str.substring(1);
            jTextField1.setText(substr);
        }
    }
    public void jButton18_actionPerformed(ActionEvent e) {
number("0");
    }
    public void jButton17_actionPerformed(ActionEvent e) {
operator(1);
    }
    public void jButton19_actionPerformed(ActionEvent e) {
operator(2);
    }
    public void jButton9_actionPerformed(ActionEvent e) {
        operator(3);
    }
    public void jButton7_actionPerformed(ActionEvent e) {
        operator(4);
    }
    public void jButton1_actionPerformed(ActionEvent e) {
jTextField1.setText("0");
        end=true;
        first=true;
        sign=0;
    }
    public void jButton2_actionPerformed(ActionEvent e) {
jTextField1.setText("0");
        end=true;
    }
    public void jButton3_actionPerformed(ActionEvent e) {
        operator(0);
    }
}