Как использовать методы для решения: блокировка учетной записи после трех раз? - PullRequest
1 голос
/ 15 октября 2019

Я пытаюсь создать программу, которая использует методы для блокировки / разблокировки учетной записи. Вот моя программа, но когда я пытаюсь ее запустить, она говорит, что параметр внутри моих методов для запроса имени пользователя и пароля не может быть пустым.

Я новичок и только что узнал, как использовать методы, так что если кто-нибудь сможет объяснить, в чем заключается ошибка этой программы, это было бы здорово.

Я также пытаюсь создать методдля блокировки учетной записи после трех попыток с помощью цикла, но я застрял с этим. Пожалуйста, дайте совет, спасибо!

//Lock account after n=3 using methods
//using Methods created

import java.util.Scanner;

public class Lock_Methods{
    public static void main(String [] args){

        String user_name = question();
        String pass_word = ask();

        int result = testing(user_name, pass_word);

        if (result == 0){
            System.out.println("Welcome");
        }
        else
            System.out.println("Locked");


    } //end of main


    //2. method for asking username
    public static String question(){
        Scanner input = new Scanner (System.in);

        System.out.println("Enter username: ");
        String username = input.nextLine();

        return username;
    }

    //3. method for asking password
    public static String ask(String password){
        Scanner input = new Scanner (System.in);

        System.out.println("Enter Password: ");
        password = input.nextLine();

        return password;

    }


    //4. method for testing whether username and password are true
    public static int testing(String inputname, String inputpw){
        int result = 0;
        String username = "edu";
        String password = "12345";

        if (!(username.equals(inputname)) || ! (password.equals(inputpw)))
            return 1;
        else
            return 0;

        return result; //return statment

    }



} //end of class

1 Ответ

0 голосов
/ 15 октября 2019

Удалить String password из public static String ask(String password)

Когда вы вызываете метод ask в String pass_word = ask();, вы не передаете никакого параметра в ask(), но в объявлении вашего метода есть параметр String password,Поскольку вы не передаете параметр, он выдаёт вам эту ошибку.

Вот как должен выглядеть ваш ask() метод:

public static String ask(){
    Scanner input = new Scanner (System.in);

    System.out.println("Enter Password: ");
    password = input.nextLine();

    return password;
}

Насколько три попытки имеютбеспокойство, попробуйте запустить это. Я также внес изменения, упомянутые выше, поэтому просто запустите это и посмотрите, работает ли он:

import java.util.Scanner;

public class Lock {
    public static void main(String [] args){

        String user_name = question();
        String pass_word = ask();

        int count = 0;

        while (count < 4) {
            int result = testing(user_name, pass_word);

            if (result == 0) {
                System.out.println("Welcome");
            }
            count++;
        }

        if (count > 3) {
            System.out.println("Locked");
        }

    } //end of main 

    //2. method for asking username
    public static String question(){
        Scanner input = new Scanner (System.in);

        System.out.println("Enter username: ");
        String username = input.nextLine();

        input.close();

        return username;
    }

    //3. method for asking password
    public static String ask(){
        Scanner input = new Scanner (System.in);

        System.out.println("Enter Password: ");
        String password = input.nextLine();

        input.close();

        return password;

    }


    //4. method for testing whether username and password are true
    public static int testing(String inputname, String inputpw){
        int result = 0;
        String username = "edu";
        String password = "12345";

        if (!(username.equals(inputname)) || ! (password.equals(inputpw)))
            result = 1;

        return result; //return statment

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...