gpt4 book ai didi

java - 需要帮助重新运行我的主类而不终止程序

转载 作者:行者123 更新时间:2023-11-30 05:26:22 25 4
gpt4 key购买 nike

所以基本上我试图只使用 IF 语句并在一个类中制作一个迷你游戏,到目前为止一切都很顺利。我最大的问题是“后退”提示。我尝试了 system.exit(0),但由于它杀死了程序,所以这不是答案。我的问题是,你如何“重新运行”类(class)?例如,当您处于“选项”菜单时,如何返回主菜单?

import java.util.Scanner;

public class Main {
public static void main (String[]args)
{
//Main Menu Prompt.

System.out.println ("Welcome to my mini parkour game!");
System.out.println ("Decide which trick to use, and don't mess up!");
System.out.println ("Choose one: Play, Quit");

Scanner bruh = new Scanner (System.in);

String MainMenu = bruh.nextLine ();

// Quit Prompt.

if (MainMenu.equals ("Quit"))
{
System.out.println ("You have quit the game.");
System.exit (0);
}

// Play Prompt.

if (MainMenu.equals ("Play"))
{
System.out.println ("Proceed to level 1, 2, 3, 4, 5, 6, 7, 8, 9, 10");

Scanner playgame = new Scanner (System.in);

String LevelSelect = playgame.nextLine ();


if (LevelSelect.equals ("1"))
{ System.out.println("You have reached this block of code!");
}
}

//code block to remind that java is case sensitive.
else {
System.out.println("error, try picking one again. (case sensitive.)");
return new Main();
}


}
}

我希望即使您在播放提示符下也能在主菜单提示符下输出,而不会终止程序。

最佳答案

我相信由存储在变量中的用户输入控制的 while 循环会发挥神奇作用。您必须学习如何使用 while 循环。

如果您想晋升为上帝级 Java 程序员,请使用枚举来定义状态,然后使用 switch-case 在 while 循环内创建状态机。我懒得从手机上输入工作代码,但在高级别上输入类似的代码:

enum State { PLAY, QUIT };
public static void main(String[] args) {
boolean runAgain=true;
State state;
while (runAgain) {
//get the input from user
//update state
switch(state) {
case PLAY :
// update state
break;
case QUIT:
// update STATE
break;
//case WHATEVERELSE...
default:
assert false : "never get here";
}
}
}

这涉及到一些学习和阅读 Java 规范,但是嘿,在这样做之后,您将能够为......电梯编写一个工作算法!祝你好运!

关于java - 需要帮助重新运行我的主类而不终止程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58500187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com