私は1つのこと以外はすべて動作していると思います。メソッドをmainで複数回呼び出すと、同じパスワードが作成され続けます。パスワードを作成するJavaプログラムを作成しようとしています
import java.util.Random;
public class PasswordRandomizer {
// Define the variables
private int length;
private String password;
private Random random = new Random();
private char symbol;
public PasswordRandomizer(int length) {
// Initialize the variable
password = "";
this.length = length;
while (this.password.length() < this.length) {
this.symbol = "abcdefghijklmnopqrstuvwxyz".charAt(this.random.nextInt(25));
this.password += symbol;
}
}
public String createPassword() {
// write code that returns a randomized password
return this.password;
}
}
、これは私がメインに持っているものです::
は、ここでパスワードを作成するためのクラスです
public class Program {
public static void main(String[] args) {
PasswordRandomizer randomizer = new PasswordRandomizer(13);
System.out.println("Password: " + randomizer.createPassword());
System.out.println("Password: " + randomizer.createPassword());
System.out.println("Password: " + randomizer.createPassword());
System.out.println("Password: " + randomizer.createPassword());
}
}
私はこのような出力になるだろう:
Password: seggdpsptkxqo
Password: seggdpsptkxqo
Password: seggdpsptkxqo
Password: seggdpsptkxqo
を
私が持っている他の間違いや悪い習慣を指摘しても、私はまだかなり新しいです。
あなたがいない「作成」方法では、コンストラクタでパスワードを計算している。RandomStringUtilsで
は、一定の長さのランダムな文字列を生成するための方法があります;) – Ray
実際の作成コードをコンストラクタから独自のメソッドまたはcreatePasswordメソッドに移動させてください – LaneL
あなたには基本的な誤解があると思います。これを見てください:https://docs.oracle.com/javase/tutorial/java/javaOO/constructors.html – smddzcy