运行时java中的数字格式异常

时间:2017-06-21 17:31:32

标签: java numberformatexception

我正在开发自己的计算器,当我按下里面的加号按钮时我得到NumberFormatException: -

if(e.getSource() == p) {
    String a[] = new String[2];
    double d[] = new double[2]; 
    for(int i =0; i<2; i++) {
        a[i] = tf.getText();
        d[i] = Double.parseDouble(a[i]);
        System.out.println("First array is "+d[i]);
        sum = sum + d[i];
        tf.setText(null);
    }
}

我没有得到数字格式异常是什么我搜索它告诉我我的字符串是空的但我现在需要做什么。

please click here for errors

3 个答案:

答案 0 :(得分:1)

您无法解析+

中的Double.parseDouble(String string)

如果字符串不包含可解析的double,则抛出NumberFormatException

答案 1 :(得分:0)

我假设您输入的输入为1 + 2,因此当您单击加号时,您存储的第二个数字为空,因此错误

答案 2 :(得分:0)

这将解决您的问题

if(e.getSource() == p) {
    String a[] = new String[2];
    double d[] = new double[2]; 
    for(int i =0; i<2; i++) {
        a[i] = tf.getText();
         if(a[i].contains("[a-zA-Z]+") == false){
           d[i] = Double.parseDouble(a[i]);
           System.out.println("First array is "+d[i]);
           sum = sum + d[i];
           tf.setText(null);
         }

    }
}