我创建了一个将字符串值转换为新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。有关如何正确调用此方法以检查该情况的任何说明将非常感谢,谢谢。
答案 0 :(得分:0)
但我不认为这是我要求它做的事情
您正在检查结果是否为空。你的逻辑是正确的。
如果您打算稍后使用它,可能需要存储结果。
Double val = x("");
if (val == null) {
// Invalid
} else {
System.out.println("Valid! Result: " + val);
}