Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.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 如何从同一类中的另一个方法返回main方法(break不起作用)_Java - Fatal编程技术网

Java 如何从同一类中的另一个方法返回main方法(break不起作用)

Java 如何从同一类中的另一个方法返回main方法(break不起作用),java,Java,所以我看到了很多关于这个的帖子,但是它们没有应用,因为a)我试图返回main方法,同时跳过main中的while循环。我正在制作一个文本冒险游戏,它分步骤(单独的方法)工作,在最后的步骤中调用下一步。例如,第一步是EastStoryline1(),第二步是EastStoryline2(),在EastStoryline1()的代码末尾,它说“EastStoryline2()” 所以实际的main非常小,因为它只是一个循环到下一个的方法。主回路中还有2个while循环。第一个是在我建立了扫描器和布尔

所以我看到了很多关于这个的帖子,但是它们没有应用,因为a)我试图返回main方法,同时跳过main中的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
}