繁体   English   中英

如何将数组中的输入双精度值比较为空/字符串值(“”)?

[英]How do I compare an input double value in an array to be null/String value("")?

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

这是我的代码:

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]));

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

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
    }
}

您可以使用

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM