Java 内部if返回应由外部if返回使用
我在谷歌上搜索了一下,但什么也没找到: 因此,我有3个检查,而第二个if检查将由两个内部if语句进行检查,关于结果,我希望将不同的整数返回到将在其他地方调用的方法,如果这起作用,我在web上找不到任何解释,因此,只有在这些条件均未满足时,才应返回1000 所以我的主要目标是,如果我给str1“getBack”这个方法,我希望返回500Java 内部if返回应由外部if返回使用,java,Java,我在谷歌上搜索了一下,但什么也没找到: 因此,我有3个检查,而第二个if检查将由两个内部if语句进行检查,关于结果,我希望将不同的整数返回到将在其他地方调用的方法,如果这起作用,我在web上找不到任何解释,因此,只有在这些条件均未满足时,才应返回1000 所以我的主要目标是,如果我给str1“getBack”这个方法,我希望返回500 public int checkValues(String str1, String str2, String str3, String str4) {
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的方法。剩下的代码永远不会运行,因为我们已经匹配了所有可能的条件。您的解决方案可能会返回一个列表,而不是一个整数,其中包含所有类型的响应代码。