Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 内部if返回应由外部if返回使用_Java - Fatal编程技术网

Java 内部if返回应由外部if返回使用

Java 内部if返回应由外部if返回使用,java,Java,我在谷歌上搜索了一下,但什么也没找到: 因此,我有3个检查,而第二个if检查将由两个内部if语句进行检查,关于结果,我希望将不同的整数返回到将在其他地方调用的方法,如果这起作用,我在web上找不到任何解释,因此,只有在这些条件均未满足时,才应返回1000 所以我的主要目标是,如果我给str1“getBack”这个方法,我希望返回500 public int checkValues(String str1, String str2, String str3, String str4) {

我在谷歌上搜索了一下,但什么也没找到:

因此,我有3个检查,而第二个if检查将由两个内部if语句进行检查,关于结果,我希望将不同的整数返回到将在其他地方调用的方法,如果这起作用,我在web上找不到任何解释,因此,只有在这些条件均未满足时,才应返回1000

所以我的主要目标是,如果我给str1“getBack”这个方法,我希望返回500

public int checkValues(String str1, String str2, String str3, String str4) {
    if (str1 == null || str2 == null) {
        return 400;
    }
    if (str1 != null && str2 != null) {
        if (str1.equals("getBack")){
        return 500;
        }
        else { return 600;}
    }
    if (str3 == null && str4 == null) {
        return 700;
    }
    if (str4 == null) {
        return 800;
    }
    return 1000;
}

还有什么没有发生?你可以创建一个JUnit测试来检查你所有的条件,看看这个方法是否执行了你计划的测试。不,我只是不知道这是否有效,如果str1等于getBack,我想得到500,但是我觉得我的逻辑不起作用如果
(str1==null | | str2==null)
为false,
(str1!=null&&str2!=null)
必须是正确的,您将永远无法检查
str3
str4
。我很惊讶编译器没有警告您无法访问的代码。下面是您的代码现在要做的:检查str1或str2是否为null,如果为null-->退出返回值为400的方法。如果不是,则检查str1和str2是否为空,如果为真,则检查str1是否等于getBack。如果是-->退出返回值为500的方法,否则退出返回值为600的方法。剩下的代码永远不会运行,因为我们已经匹配了所有可能的条件。您的解决方案可能会返回一个列表,而不是一个整数,其中包含所有类型的响应代码。