提问人:Riley Morris 提问时间:3/24/2021 最后编辑:Federico klez CullocaRiley Morris 更新时间:3/24/2021 访问量:42
有没有办法在我的字符串中单独递增每个字母?
Is there a way to increment each letter individually in my string?
问:
我正在尝试通过这样做来“猜测”密码。
这就是我目前尝试增加它的方式:
while (guess != password) {
while (guess.charAt(j) != password.charAt(j)) {
(guess.charAt(j) + 1);
if (guess.charAt (j) == password.charAt(j)) {
j++;
}
}
}
答:
0赞
Tore
3/24/2021
#1
这里有一种蛮力方法可以做到这一点。正如评论中所指出的,你可以从将 String 转换为 char[] 开始,但实际上没有意义,因为你总是知道答案。
https://replit.com/@notoreous/guesspwd#Main.java
class Main {
public static void main(String[] args) {
String password = "password";
String guess = guessPassword(password);
System.out.println("I guess: " + guess);
System.out.println("Actual: " + password);
}
private static String guessPassword(String password) {
return new String(guess(new char[password.length()], password.toCharArray()));
}
private static char[] guess(char[] guess, char[] password) {
for (int i = 0; i < password.length; i++) {
if (guess[i] == password[i]) {
continue;
} else {
guess[i]++;
i--;
}
}
return guess;
}
}
评论
guess != password
String
char[]