关注
```
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
Set<Character> set = new HashSet<>();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String[] s = new String[n];
for (int i = 0; i < n; i++) {
s[i] = sc.next();
}
Main m = new Main();
m.setSet();
for (int i = 0; i < n; i++) {
System.out.println(m.isStrong(s[i]) ? "yes" : "no");
}
}
public void setSet() {
set.add('!');
set.add('@');
set.add('#');
set.add('$');
set.add('%');
set.add('^');
set.add('&');
set.add('*');
set.add('(');
set.add(')');
set.add('_');
set.add('-');
set.add('=');
set.add('+');
set.add('[');
set.add(']');
set.add('{');
set.add('}');
set.add(',');
set.add('.');
set.add('<');
set.add('>');
set.add('/');
set.add('?');
}
public boolean isStrong(String s) {
int n = s.length();
if (n < 8) {
return false;
}
boolean f1 = false, f2 = false, f3 = false, f4 = false;
for (char c : s.toCharArray()) {
if (c <= 'Z' && c >= 'A' && !f1) {
f1 = true;
} else if (c <= 'z' && c >= 'a' && !f2) {
f2 = true;
} else if (c <= '9' && c >= '0' && !f3) {
f3 = true;
} else if (set.contains(c)) {
f4 = true;
}
}
if (!(f1 && f2 && f3 && f4)) {
return false;
}
if (n > 2) {
for (int i = 0; i < n - 2; i++) {
String sub = s.substring(i, i + 3);
if ((sub.charAt(2) - sub.charAt(1) == sub.charAt(1) - sub.charAt(0))
&& (sub.charAt(2) <= '9' && sub.charAt(2) >= '0')
&& (sub.charAt(1) <= '9' && sub.charAt(1) >= '0')
&& (sub.charAt(0) <= '9' && sub.charAt(0) >= '0')) {
return false;
}
}
}
if (n > 2) {
for (int i = 0; i < n - 2; i++) {
String sub = s.substring(i, i + 3);
if ((sub.charAt(2) - sub.charAt(1) == 1 && sub.charAt(1) - sub.charAt(0) == 1)
&& (((sub.charAt(2) <= 'Z' && sub.charAt(2) >= 'A')
&& (sub.charAt(1) <= 'Z' && sub.charAt(1) >= 'A')
&& (sub.charAt(0) <= 'Z' && sub.charAt(0) >= 'A'))
|| ((sub.charAt(2) <= 'z' && sub.charAt(2) >= 'a')
&& (sub.charAt(1) <= 'z' && sub.charAt(1) >= 'a')
&& (sub.charAt(0) <= 'z' && sub.charAt(0) >= 'a')))) {
return false;
}
}
}
if (s.indexOf("password") != -1) {
return false;
}
if (s.indexOf("admin") != -1) {
return false;
}
if (s.indexOf("qwerty") != -1) {
return false;
}
if (s.indexOf("hello") != -1) {
return false;
}
if (s.indexOf("iloveyou") != -1) {
return false;
}
if (s.indexOf("112233") != -1) {
return false;
}
return true;
}
}
```
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
05-07 17:26
福建农林大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你觉得现在还能进互联网吗? #
1549次浏览 51人参与
# 如何准备秋招 #
4427次浏览 70人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
18126次浏览 159人参与
# 实习,不懂就问 #
14095次浏览 207人参与
# 哪个瞬间让你对大厂祛魅了? #
379357次浏览 2777人参与
# 你觉得实习能学到东西吗 #
6591次浏览 152人参与
# 如果中了500万,你会离职吗? #
86174次浏览 675人参与
# 面试时被问的最奇葩的问题 #
21490次浏览 124人参与
# 秋招什么时候开投比较合适? #
2707次浏览 49人参与
# 每个月的工资都是怎么分配的? #
6552次浏览 130人参与
# 软开人,秋招你打算投哪些公司呢 #
99394次浏览 932人参与
# 来聊聊你认为的薪资天花板是哪家? #
30276次浏览 173人参与
# 腾讯工作体验 #
473531次浏览 3489人参与
# 预测一下26届秋招形势 #
10175次浏览 114人参与
# 打工人的精神状态 #
51607次浏览 933人参与
# 职场情商大赛 #
131156次浏览 655人参与
# 非技术2024笔面经 #
384520次浏览 4732人参与
# 高考出分的那一天,我__ #
9194次浏览 141人参与
# 一觉醒来,秋招难度下降一万倍…… #
83497次浏览 642人参与
# 京东美团大战,你怎么看? #
92414次浏览 569人参与
# 你们公司几号发工资 #
18326次浏览 114人参与