【问题标题】:Java, Password generator. Which method i can use? [closed]Java,密码生成器。我可以使用哪种方法? [关闭]
【发布时间】:2019-10-07 09:21:53
【问题描述】:

对于一个学校项目,我必须构建一个密码生成器。这必须由 3 种不同的方法组成,包括 1 种主要方法和 2 种其他方法。

以下是我目前所拥有的。有谁知道如何在这里添加第三种方法?

public class main {

    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("Wil je je wachtwoord resetten? Ja of nee");
        String pass=input.next();
        input.close();

        if("Ja".equalsIgnoreCase(pass)) {
            System.out.println(generatePassword(28));
        } else{
            System.out.println("Okee, volgende keer beter!");
        }
    }
    static char[] generatePassword(int length) {
        System.out.println("Nieuw wachtwoord: ");
        String letters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw";
        String nummers="0123456789";
        String raarTeken="!@#$%^&*)(}{[]<>?:;";

        String pwd=letters+nummers+raarTeken;
        Random r=new Random();
        char[] newPass=new char[length];

        for(int i=0; i<length; i++) {
            newPass[i]=pwd.charAt(r.nextInt(pwd.length()));
        }
        return newPass; 
    }
}

【问题讨论】:

  • 你需要第三种方法吗?
  • 你不需要。您可以将pwd.charAt(r.nextInt(pwd.length())) 移至它自己的方法。无缘无故。
  • 是的,这是作业的要求之一
  • 那会是什么样子?
  • 您可以将询问用户是否要重置密码的部分放在单独的方法中。然后让它返回一个boolean,您可以在主目录的if 中使用它。附带说明一下,您永远不应该关闭使用System.in 的Scanner。 It can break things if you want to use it at a later point.

标签: java passwords


【解决方案1】:

您可以将它发送到检查器方法,它会将其定向到最终方法!

public class main {

public static void main(String[] args) {
    Scanner input=new Scanner(System.in);
    System.out.println("Wil je je wachtwoord resetten? Ja of nee");
    String pass=input.next();
    input.close();
    checkPassword(pass);
}

public static void checkPassword(String pass){
    if("Ja".equalsIgnoreCase(pass)) {
        System.out.println(generatePassword(28));
    } else{
        System.out.println("Okee, volgende keer beter!");
    }
}

static char[] generatePassword(int length) {
    System.out.println("Nieuw wachtwoord: ");
    String letters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw";
    String nummers="0123456789";
    String raarTeken="!@#$%^&*)(}{[]<>?:;";

    String pwd=letters+nummers+raarTeken;
    Random r=new Random();
    char[] newPass=new char[length];

    for(int i=0; i<length; i++) {
        newPass[i]=pwd.charAt(r.nextInt(pwd.length()));
    }
    return newPass; 
}
}

【讨论】:

    猜你喜欢
    • 2012-08-31
    • 2020-01-21
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    相关资源
    最近更新 更多