所以我已经看到了很多关于这个的其他帖子,但它们没有应用,因为 a) 我试图在跳过 main 内部的 while 循环时返回到 main 方法。我正在制作一个文本冒险游戏,它通过从最后的步骤中调用下一步来分步工作(单独的方法)。例如,第一步是EastStoryline1(),第二步是EastStoryline2(),在代码的末尾EastStoryline1(),它说"EastStoryline2()"。所以实际的 main 非常小,因为它只是一个循环到下一个的方法。main 中还有 2 个 while 循环。第一个是在我建立扫描仪和布尔 playagain 之后,它基本上围绕着主要的其余部分开始游戏,而 playagain = true。第二个循环紧跟在第一个循环之后,基本上是说当 def(玩家健康)> 0 时,播放游戏的事件。在第二个循环之后,但仍然在第一个循环中,代码调用方法Die(),然后询问玩家是否要玩游戏。所以基本上,Die()为了打破任何现有的循环链并将其带到下一个代码中,我在里面放了什么代码Die()。问题是我Die()在其他方法中也使用过,每次调用它时我都希望它返回到Die()main之后的代码。这是主要的代码(抱歉格式错误):public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); boolean playagain = true; while(playagain == true) { while(def > 0) { TitleScreen("TXT ADVENTURE!"); System.out.println("Pick a character: Rogue, Paladin, or Priest (capitals DO matter!)"); String character = keyboard.next(); CharacterChoice(character); System.out.println("You wake up on a dusty road, with no memory of who you are or how you got here. You can only remember your name, and how to fight. To the east lies a small dock with a boat. To the west, there seems to be a sand-scarred mountain range. Do you go east, or west?"); String ew = keyboard.next(); EastWest(ew); } Die(); System.out.println("Do you want to play again?"); String playornah = keyboard.next(); if(playornah.equals("yes") || playornah.equals("Yes")) { playagain = true; } else { playagain = false; } }}这是我使用的 Die 代码system.exit(0),但现在我希望它在 Die 被调用后返回到主程序,而不是仅仅结束程序):public static void Die() { System.out.println("GAME OVER"); System.exit(0); //I tried using break but it wouldn't compile }那么Die(),为了(无论它在哪里调用)在Die()被调用的位置之后返回到 main 中,我应该编写什么代码。
2 回答
慕娘9325324
TA贡献1783条经验 获得超4个赞
public static void Die()
{
System.out.println("GAME OVER");
System.exit(0); //I tried using break but it wouldn't compile
}
System.exit(0);
结束程序。如果您只想结束该方法:
让方法在没有更多语句时自然结束。(只需删除
System.exit(0);
)替换
System.exit(0);
为return;
声明
从文档:
一个方法返回到调用它的代码时
完成方法中的所有语句,
到达 return 语句,或
抛出异常(稍后介绍),
以先发生者为准。
添加回答
举报
0/150
提交
取消