如何正确调用转换为Double方法的String?

时间:2016-11-10 23:03:16

标签: java if-statement methods

我创建了一个将字符串值转换为新Double的方法。我想创建一个if语句来测试所述方法是否返回null,这是假设要做的。这是到目前为止的代码:

内容类

public class Content 
{
        Double x;

 String string = "b";

        public void testParsing() 
        { 
         if (//call xMethod == null) {
            System.out.println("Ovalid operator Success");}
            else {
                    System.out.println("Invalid operator Fail");
                    }
        }

        /*
        * Chops up input on ' ' then decides whether to add or multiply.
        * If the string does not contain a valid format returns null.
        */
        public Double x(String x)
        {

    String[] parsed;
    if (x.contains("*")) 
    {
        // * Is a special character in regex
        parsed = x.split("\\*");

        return Double.parseDouble(parsed[0]) * Double.parseDouble(parsed[1]);
    }
    else if (x.contains("+")) 
    {
        // + is again a special character in regex
        parsed = x.split("\\+");

        return Double.parseDouble(parsed[0]) + Double.parseDouble(parsed[1]);
    }

    return null;
}
}

主要课程

public class MainClass {

public static void main(String[] args) {

Content call = new Content();

call.testParsing();

}
}

我知道以下一行成功编译并输出:(第9行)

if (x("") == null) {

但是我不认为这是我要求它做的事情,我要求它检查x指向的方法的结果是否返回null。有关如何正确调用此方法以检查该情况的任何说明将非常感谢,谢谢。

1 个答案:

答案 0 :(得分:0)

  

但我不认为这是我要求它做的事情

您正在检查结果是否为空。你的逻辑是正确的。

如果您打算稍后使用它,可能需要存储结果。

Double val = x("");
if (val == null) {
    // Invalid
} else {
    System.out.println("Valid! Result: " + val);
}