英文:
How do I restart a program in Java?
问题
我已经查看了关于这个主题的其他StackOverflow问题,但作为一名新手开发者,我感到非常困惑。我正在尝试编写一个程序,向用户提问谜题,并在用户在一个特定的谜题上答错三次后重新启动。需要重新启动的代码是:
if (wrongAnswer == 3){
System.out.println("你已经失败了三次。");
restartApp();
我需要重新启动的代码应该放在当前restartApp()的位置。
提前感谢!
英文:
I have looked at other StackOverflow questions on this topic but being a new developer I am extremely confused. I am trying to write a program that asks the user riddles and restarts after the user gets three wrong answers on one specific riddle. The code that needs the restart is:
if (wrongAnswer == 3){
System.out.println("You have failed three times.");
restartApp();
The code where I need to restart should go right where the restartApp() is right now.
Thanks in advance!
答案1
得分: 2
所以,正如Turing85所提到的,重新启动整个程序可能不是正确的方法。通常,你会使用所谓的状态机(state machine)。对于这个示例,可以通过使用while循环来实现一个简单的状态机。以下是一个示例代码:
import java.util.Scanner;
public class foo
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
boolean running = true;
while(running){
System.out.println("输入一个值,输入-1退出...");
int value = scan.nextInt();
if(value == -1){
System.out.println("正在退出");
break;
}else{
System.out.println("对该值进行处理");
}
}
}
}
以下是输出结果:
输入一个值,输入-1退出...
1
对该值进行处理
输入一个值,输入-1退出...
2
对该值进行处理
输入一个值,输入-1退出...
4
对该值进行处理
输入一个值,输入-1退出...
-1
正在退出
英文:
So, as Turing85 mentioned, restarting the whole program probably isn't the way to go. Generally, you use what's called a state machine. For this example, a simple one can be implemented with a while loop. Here's an example:
import java.util.Scanner;
public class foo
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
boolean running = true;
while(running){
System.out.println("enter a value, enter -1 to exit...");
int value = scan.nextInt();
if(value == -1){
System.out.println("exiting");
break;
}else{
System.out.println("do stuff with the value");
}
}
}
}
and here's the output:
enter a value, enter -1 to exit...
1
do stuff with the value
enter a value, enter -1 to exit...
2
do stuff with the value
enter a value, enter -1 to exit...
4
do stuff with the value
enter a value, enter -1 to exit...
-1
exiting
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论