【发布时间】: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.