Java:如果触发“Else”语句,如何自动重新启动控制台程序
我正在制作一个简单的程序,在你启动程序之前要求输入密码。当我的用户输入错误的密码时,他们会收到拒绝访问的警告。我使用If/Else语句来实现这一点。如果他们输入了错误的密码,我希望能够重新运行我的程序,因为如果他们输入了错误的密码,他们将无法再次在控制台中键入 这是我的工作区:Java:如果触发“Else”语句,如何自动重新启动控制台程序,java,Java,我正在制作一个简单的程序,在你启动程序之前要求输入密码。当我的用户输入错误的密码时,他们会收到拒绝访问的警告。我使用If/Else语句来实现这一点。如果他们输入了错误的密码,我希望能够重新运行我的程序,因为如果他们输入了错误的密码,他们将无法再次在控制台中键入 这是我的工作区: import java.util.Scanner; public class PasswordProtected { public static void main (String args[]){
import java.util.Scanner;
public class PasswordProtected {
public static void main (String args[]){
Scanner Password = new Scanner (System.in);
String mainpassword, userInput;
mainpassword = ("Jacob");
System.out.println("Please enter the password to continue.");
userInput = Password.nextLine();
System.out.println("Verifying Password");
if (userInput.equals(mainpassword)){
System.out.println("Access Granted");
System.out.println("Welcome!");
}else{
System.out.println("Access Denied");
}
}
}
我确实意识到我可以一次又一次地复制像这样的东西,然而,这是对空间的浪费,并不是无限的
System.out.println("Please enter the password to continue.");
userInput = Password.nextLine();
System.out.println("Verifying Password");
if (userInput.equals(mainpassword)){
System.out.println("Access Granted");
System.out.println("Welcome!");
}else{
System.out.println("Access Denied");
}
}
请注意,我是编程新手,可能需要一些额外的帮助
如果触发了Else语句,如何在不再次手动单击运行按钮的情况下完全重新启动程序?您不需要重新启动程序。如果密码不正确,请使用循环再次询问密码。例如,在带有语句的半伪代码中:
userInput = input.nextLine();
while ( !userInput.equals(mainpassword) ){
userInput = input.nextLine();
}
您不需要重新启动程序。如果密码不正确,请使用循环再次询问密码。例如,在带有语句的半伪代码中:
userInput = input.nextLine();
while ( !userInput.equals(mainpassword) ){
userInput = input.nextLine();
}
试试whiletrue循环
试试whiletrue循环
如果您仍然想重新启动任何Java程序,那么可以从代码中的任何其他地方调用main方法。您可以调用这个方法,传入任何必要的字符串参数。使用线程执行此操作,如下所示
Thread t = new Thread() {
public void run() {
String[] args = { };
PasswordProtected.main(args);
}
};
t.start();
如果要在新流程中重新启动应用程序,可以使用
Runtime.getRuntime().exec(...);
如果您仍然想重新启动任何Java程序,那么可以从代码中的任何其他地方调用main方法。您可以调用这个方法,传入任何必要的字符串参数。使用线程执行此操作,如下所示
Thread t = new Thread() {
public void run() {
String[] args = { };
PasswordProtected.main(args);
}
};
t.start();
如果要在新流程中重新启动应用程序,可以使用
Runtime.getRuntime().exec(...);
你有没有听说过循环的时间、时间等。?只需在代码上循环,直到输入正确,然后继续程序,可能会尝试最多次。我忘了说我是编程新手。我会相应地编辑我的问题。或者给他们输入密码或退出选项,但正如@dunni所说的那样!验证{GetPassword}基本上是一种方法。你听说过循环、while等吗。?只需在代码上循环,直到输入正确,然后继续程序,可能会尝试最多次。我忘了说我是编程新手。我会相应地编辑我的问题。或者给他们输入密码或退出选项,但正如@dunni所说的那样!验证{GetPassword}基本上是一种方法。我尝试了每个人的响应,可能不正确,但是您的响应有效。我意识到在此之后,我无法让我的用户输入任何其他信息。为什么?每当我尝试按enter键输入新信息时,都会弹出关于再次创建帐户的相同代码;无论哪种方式,它都越来越让人困惑。老实说,我甚至不理解自己的代码。我很可能会从头开始重建,或者放弃这个项目。我已经尝试了所有人的回复,可能是错误的,但是你的回复起了作用。我已经意识到,在此之后,我无法让我的用户输入任何其他信息。为什么?每当我尝试按enter键输入新信息时,都会弹出关于再次创建帐户的相同代码;无论哪种方式,它都越来越让人困惑。老实说,我甚至不理解自己的代码。我很可能会从头开始重建,或者放弃这个项目。但更好的选择是分析他们的输入是否为空,然后用do代替do…而他们的输入不是空的。。。然后告诉他们,如果他们想退出,只需按enter键,而不必输入任何其他内容。。。看这个。但更好的选择是分析他们的输入是否为空,然后用do代替do…而他们的输入不是空的。。。然后告诉他们,如果他们想退出,只需按enter键,而不必输入任何其他内容。。。看见