我是Java的新手并且认为我会制作一个经典的用户名和密码验证程序,我已经成功完成没有明显的错误,但是如果用户输入,我希望程序基本上重新启动输入 - 正确的信息。每次用户输入错误信息时,我如何成功地重新启动程序?
以下代码:
public void enterScores() {
Scanner userInput = new Scanner(System.in);
System.out.println("Enter the scores of the student, press Q to finish");
for (int i = 0; i < SCORES_SIZE; i++) {
String input = userInput.next();
if ("Q".equals(input)) {
break;
}
try {
scores.add(i, Integer.parseInt(input));
} catch (NumberFormatException e) {
System.out.println("entered value can not be casted to integer");
}
}
}
我知道这是非常基本的,因为我说我是Java的新手(2小时前新)。
我想在else条件语句中调用“main”方法但是我听说使用“main”方法比在程序第一次启动时更多次使用。
提前致谢:)
答案 0 :(得分:0)
我希望这就是你想要的。
import java.util.Scanner;
public class UserPass {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String user; //Creating user-name variable.
String pass; //Creating password variable.
boolean isValidUser = false;
while(!isValidUser) {
System.out.println("Enter username here: "); //Message to tell user to input the user-name.
user = input.nextLine(); //Taking the users user-name input.
System.out.println("Enter the password here: "); //Message to tell user to input the password.
pass = input.nextLine(); //Taking the users password input.
//Validating the users User-name and password input.
if(user.equals("Shane") && (pass.equals("Temple"))) {
System.out.println("Correct!");
isValidUser = true;
}
else {
System.out.println("The Usernname or Password that you have entered was in-correct");
isValidUser = false;
}
}
}
}