(這可能是重複的,我不知道的.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
循環,因此它們以小寫字母開頭,因爲程序在進行微小更改時需要一段時間才能運行。
......我們真的需要根據SO的規則提出這個問題。這是...無處不在! – Doorknob
我爲重複道歉,我不知道'.equals()',我沒有在網上找到它。 –