Java返回不退出方法(循环)

时间:2013-03-31 06:33:06

标签: java loops methods nested return

我正在为学校做一个项目,我在方法中有很多嵌套循环。我可以验证我的代码是否达到“返回true”;在“返回虚假”之前的陈述使用太多的System.out.println语句。

是否存在返回不立即退出方法的情况。在我的代码中它达到“return true;”,但随后继续使用该方法。

谢谢 - 第一篇文章,但其他问题的长期学生

编辑:显示我的代码 - 这是针对加州大学伯克利分校项目的,所以他们不允许我们发布我们的完整代码。这是重要的部分。

我的代码中没有“try语句”。这是我的方法的最后一个,它有大量的循环(而& for)循环。

if (x == 7 && turn == 5){
                    System.out.println("TRUE RESULT");
                    return true;


                }

                nextVictory(turn, x, y, color,z);
                alive = false;
            }

        }


          }
    }
    System.out.println("FALSE RESULT");
    return false;
}

我有打印声明来验证我在哪里。结果如下:

正确结果

错误结果

错误结果

错误结果

错误结果

2 个答案:

答案 0 :(得分:4)

  

有没有返回不立即退出方法的情况?

我想到的唯一情况是return语句是否位于try - finally块内。 <{1}}块仍然会被执行。

另一种可能表现出类似行为的情况是你的方法是递归的。在这种情况下,嵌套调用中的finally语句实际上将返回给调用者。但是,如果调用方是方法本身,则可能会使方法的外观继续执行return

答案 1 :(得分:0)

如果您的代码到达return true行,则必须退出该方法。所以它没有达到这条线。 System.out.printlnreturn语句之间发生了一些事情。如果您显示代码,它会有所帮助。