如何将数组中的输入double值与null / String值(“”)进行比较?

时间:2017-12-27 05:11:11

标签: java arrays swing

我有一个项目,我在Swing中的Java程序使用双数组接受来自用户的值并打印项目的总数,类似于订单表单。 假设用户在文本框中没有输入任何值,这会显示错误并阻止进一步计算。 我的问题是,我应该编码什么才能让计算机理解文本框中没有输入任何内容,所以只需将值取为0。我想通过比较/转换来做到这一点将double数组值转换为字符串,然后继续计算。

这是我的代码:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    double price[]=new double[]{0.25,8.55,0.50,0.25};
    double amount[]=new double[4];
    double quantity[]=new double[4];
    quantity[0]=Double.parseDouble(jTextField1.getText());
    quantity[1]=Double.parseDouble(jTextField2.getText());
    quantity[2]=Double.parseDouble(jTextField3.getText());
    quantity[3]=Double.parseDouble(jTextField4.getText());
    for(int i=0;i<4;i++)  // I want to use a for-loop or if-statement to 
                        check if there is a value entered or not
    {
        if()
        {
            quantity[i] //no clue what to do here.
        }
    }
    for(int i=0;i<4;i++)
    {

        {
            amount[i]=quantity[i]*price[i];
        }

    }
    jTextField5.setText(String.valueOf(amount[0]));
    jTextField6.setText(String.valueOf(amount[1]));
    jTextField7.setText(String.valueOf(amount[2]));
    jTextField8.setText(String.valueOf(amount[3]));

2 个答案:

答案 0 :(得分:1)

首先,您需要在解析文本字段之前检查文本字段是否为空或字符串值。你可能需要为所有领域做这件事。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // check the values of the text fields including an or condition for regular expressions
    if (jTextField1.isEmpty() || jTextField1.getText().matches("\\d+.?\\d*") {
        // you can use something like a modal to alert
        JOptionPane.showMessage(null,"Must enter a decimal value");
    } else {
        // do something with jTextField1
    }
}

答案 1 :(得分:1)

您可以使用

if (!jTextField1.getText().isEmpty())