重複の可能性:
Java で文字列を比較するにはどうすればよいですか?
(これは重複している可能性があり.equals
ます。私は気づいていませんでした。申し訳ありません。)
4文字の文字列ジェネレーターを作ることにしたとき、私は今日Javaをいじっていました。私が定義したすべての可能な文字の組み合わせをプログラムに生成させます。これはプロジェクト用ではありません。これが可能かどうかを確認したかっただけです。私の問題は文字列チェックにあります。最初にコードを投稿します。
String text = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
char[] chars = text.toCharArray();
String name = "Mike";
String pass;
outerLoop:
for (int a = 0; a < chars.length; a ++) {
for (int b = 26; b < chars.length; b++) {
for (int c = 26; c < chars.length; c++) {
for (int d = 26; d < chars.length; d++) {
pass = chars[a]+""+chars[b]+""+chars[c]+""+chars[d];
System.out.println(pass);
if (pass == name){
System.out.print("password");
break outerLoop;
}
}
}
}
}
ネストされたものは、マイクと等しいif
かどうかをチェックします。pass
そうであれば、パスワードを出力し、for ループを中断します。
pass = chars[a]...
これを行う正しい方法はありますか?なしでテストしたところif
、パスを印刷したところ、すべての組み合わせが正しく印刷されました。は印刷されMike
ましたが、 に引っ掛かりませんでしたif
。- また、小さな変更を加えたときにプログラムの実行に時間がかかっていたため、ネストされた
for
ループを小文字で開始するように変更しました。