如何在终止后重新启动Java方法

时间:2017-12-09 15:27:52

标签: java validation if-statement methods

我是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”方法比在程序第一次启动时更多次使用。

提前致谢:)

1 个答案:

答案 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;
            }
        }
    }
}