如何设置TextField的值(double,String,int等)?

时间:2018-05-10 04:11:01

标签: java swing

private void Button_CalculateActionPerformed(java.awt.event.ActionEvent evt) {
try{        a=Double.parseDouble(TextField_First.getText());
    b=Double.parseDouble(TextField_Second.getText()); 
            switch(operation){
        case 1:result=a+b;
        break;
        case 2:result=a-b;
        break;
        case 3:result=a*b;
        break;
        case 4:result=a/b;
        break;
        case 5:result=a%b;
        break;
        case 6:result=Math.pow(a,b);
        break;
        case 7:
            TextField_Second.setText(""+a);
            result=Math.sqrt(a);
            TextField_Second.setText(""+a);
        break;
        case 8:result=Math.abs(a);
        default:System.out.println("Please select an operation");
    }

    TextField_Result.setText(""+result);
 }catch(NumberFormatException e){Label_error.setText("Please use your 
common sense ;-;");}
}                                    

我要做的是将TextField_Second的值(和文本)设置为0.0,如果TextField_Secondnull /没有值。因此,如果TextField_First的值为9,我得到平方根,我得到一个错误(NumberFormatException),但我使用了try和catch,所以如果确实发生这种情况,会出现一个标签, “请用你的常识; - ;”。

P.S。它仅在TextField_Second具有值时有效,并且不会影响答案。

1 个答案:

答案 0 :(得分:-1)

尝试这样的事情;

注意:您没有在案例8中添加break语句:

try
{
    if (!TextField_First.getText().equals(""))
    {
        if(TextField_Second.getText().equals(""))
        {
            TextField_Second.setText("0.0");
        }
        a=Double.parseDouble(TextField_First.getText());
        b=Double.parseDouble(TextField_Second.getText()); 

        switch(operation){
            case 1:result=a+b;
                break;
            case 2:result=a-b;
                break;
            case 3:result=a*b;
                break;
            case 4:result=a/b;
                break;
            case 5:result=a%b;
                break;
            case 6:result=Math.pow(a,b);
                break;
            case 7:
                TextField_Second.setText(""+a);
                result=Math.sqrt(a);
                TextField_Second.setText(""+a);
                break;
            case 8:result=Math.abs(a);
                break;
            default:System.out.println("Please select an operation");
                break;
    }
}