我正在与网站进行应用程序集成。基本上,我是一名PHP开发人员,但Android应用程序使用的是Java,我在这方面不是很专业。我需要提供一个通过应用程序本身更改密码的选项。
当用户以字符串形式输入新密码时,我希望应用程序确保新密码中不使用旧密码中长度为 3 的子字符串。此检查应不区分大小写。
例如。如果用户拥有旧密码"Angel173MN",他/她不能选择包含任何子字符串的任何新密码:nge,l17,73M等
谁能指导我怎么做?
String oldPassword = "Angel173MN";
String newPassword = "Tomato47nge";
for (int i = 0; i < oldPassword.length() - 2; i++) {
String sub = oldPassword.substring(i, i + 3);
if (newPassword.contains(sub)) {
System.out.println("Substring " + sub + " is part of both passwords");
}
}
输出:
子字符串 nge 是两个密码的一部分
正如 @coder-croc 在评论中指出的那样,您可以在第一场比赛中打破循环,因为您不需要找到更多匹配项。由于我将字符串操作理解为您问题的核心,因此我将把逻辑留给自己。
Java 中的 String
类对许多字符串操作都有很好的支持。
链接:String
文档