Java 如何从同一类中的另一个方法返回main方法(break不起作用)
所以我看到了很多关于这个的帖子,但是它们没有应用,因为a)我试图返回main方法,同时跳过main中的while循环。我正在制作一个文本冒险游戏,它分步骤(单独的方法)工作,在最后的步骤中调用下一步。例如,第一步是Java 如何从同一类中的另一个方法返回main方法(break不起作用),java,Java,所以我看到了很多关于这个的帖子,但是它们没有应用,因为a)我试图返回main方法,同时跳过main中的while循环。我正在制作一个文本冒险游戏,它分步骤(单独的方法)工作,在最后的步骤中调用下一步。例如,第一步是EastStoryline1(),第二步是EastStoryline2(),在EastStoryline1()的代码末尾,它说“EastStoryline2()” 所以实际的main非常小,因为它只是一个循环到下一个的方法。主回路中还有2个while循环。第一个是在我建立了扫描器和布尔
EastStoryline1()
,第二步是EastStoryline2()
,在EastStoryline1()
的代码末尾,它说“EastStoryline2()”
所以实际的main非常小,因为它只是一个循环到下一个的方法。主回路中还有2个while循环。第一个是在我建立了扫描器和布尔值playreach之后出现的,它基本上围绕着主体的其余部分,在playreach=true时启动游戏。第二个循环紧跟在第一个循环之后,基本上是说,当def(玩家健康状况)>0时,玩游戏中的事件。在第二个循环之后,但仍在第一个循环中,代码调用方法Die()
,然后询问玩家是否要玩游戏
因此,基本上,我应该在Die()
中放入什么代码,以便在主要调用Die()
之后打破任何现有的循环链并将其带到下一个代码中。问题是我还在其他方法中使用Die()
,每次调用它时,我都希望它返回到main中Die()
之后的代码。以下是main的代码(很抱歉格式错误):
这是我使用的Die的代码system.exit(0)
,但现在我希望它在调用Die后返回到main,而不是仅仅结束程序):
因此,我应该在
Die()
中编写什么代码,以便在调用Die()
后(无论调用它在哪里)返回到main。您不能从外部方法返回,如何使用try finally在运行代码后返回它
public static void Die()
{
System.out.println("GAME OVER");
System.exit(0); //I tried using break but it wouldn't compile
}
系统退出(0)代码>结束程序。如果只想结束该方法,请执行以下任一操作:
- 让方法在没有更多语句时自然结束。(只需删除
系统。退出(0);
)
- 替换
系统。退出(0)代码>带有返回代码>语句
从:
方法返回到调用它的代码
- 完成方法中的所有语句
- 到达返回语句,或
- 抛出异常(稍后将介绍)
以先到者为准
只需到达方法的末尾,或者使用return
语句……Break只能在循环或switch语句中使用。系统出口(0);如果您希望完全退出程序而无需进一步执行,则使用。注释退出//系统退出(0);等一下,我真的很困惑,你说的“最后一次尝试”是什么意思,它会做什么?我是新来的
public static void Die()
{
System.out.println("GAME OVER");
System.exit(0); //I tried using break but it wouldn't compile
}
public static void Die()
{
System.out.println("GAME OVER");
System.exit(0); //I tried using break but it wouldn't compile
}