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_Second
为null
/没有值。因此,如果TextField_First
的值为9,我得到平方根,我得到一个错误(NumberFormatException
),但我使用了try和catch,所以如果确实发生这种情况,会出现一个标签, “请用你的常识; - ;”。
P.S。它仅在TextField_Second
具有值时有效,并且不会影响答案。
答案 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;
}
}