私は1つのことを除いてすべてが機能していると思います。mainでメソッドを複数回呼び出すと、同じパスワードが作成され続けます。
パスワード作成のクラスは次のとおりです。
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
私が持っている他の間違いや悪い習慣を自由に指摘してください、私はまだこれでかなり新しいです。
あなたのコードを見てみましょう。
コンストラクターで、長さを初期化してから、パスワードを生成します。
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;
}
}
次に、createPassword
メソッドで、コンストラクターで生成したパスワードを変更せずに返すだけです。
public String createPassword() {
// write code that returns a randomized password
return this.password;
}
したがって、電話をかけるたびcreatePassword
に、同じものが得られます。パスワードを生成するコードをcreatePassword
メソッドに移動するとどうなるか見てみましょう。
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
this.length = length;
}
public String createPassword() {
// write code that returns a randomized password
password = "";
while (this.password.length() < this.length) {
this.symbol = "abcdefghijklmnopqrstuvwxyz".charAt(this.random.nextInt(26));
this.password += symbol;
}
return this.password;
}
}
これで、を実行するとProgram
、次のような出力が得られます。
Password: mvlqqgfmotldc
Password: inneuyuynqakd
Password: hstlfsfspfaua
Password: jgngsmdiguxcy
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加