我是Java的初学者,目前我有这样的代码。
规则是:没有特殊字符,只有小写或0到9之间的数字。
这段代码工作正常,但也需要特殊字符。有没有其他方法可以阻止这种情况发生?请不要正则表达式。
if (Password.length() >= 10 && Password.equals(Password.toLowerCase())) {
System.out.println("Password: Success");
} else {
System.out.println("Password: Unsuccessful");
}
您可以使用IntStream#allMatch方法:
private static boolean isLowerCaseOrDigits(String str) {
return str.codePoints().allMatch(ch ->
Character.isLowerCase(ch) || Character.isDigit(ch));
}
public static void main(String[] args) {
Boolean[] arr = {
isLowerCaseOrDigits("EqwerJ"),
isLowerCaseOrDigits("as56re"),
isLowerCaseOrDigits("vb3451"),
isLowerCaseOrDigits("827136"),
isLowerCaseOrDigits("8271)&")};
Arrays.stream(arr).forEach(System.out::println);
// false
// true
// true
// true
// false
}
另请参见:java 8中anyMatch和findAny的区别
您可以使用字符串。codePoints方法,用于获取此字符串的字符值的流,并在第一次出现非小写和非数字字符之前对其进行计数。您的代码可能如下所示:
public static void main(String[] args) {
System.out.println(isLowerCaseOrDigits("EqwerJ")); // false
System.out.println(isLowerCaseOrDigits("as56re")); // true
System.out.println(isLowerCaseOrDigits("vb3451")); // true
System.out.println(isLowerCaseOrDigits("827136")); // true
System.out.println(isLowerCaseOrDigits("8271)&")); // false
}
private static boolean isLowerCaseOrDigits(String str) {
return str.codePoints()
.takeWhile(ch -> Character.isLowerCase(ch)
|| Character.isDigit(ch))
.count() == str.length();
}
或者在没有流的情况下,可以使用字符串。toCharArray方法并迭代该字符串的字符数组。第一次出现非小写和非数字字符时返回false:
private static boolean isLowerCaseOrDigits(String str) {
for (char ch : str.toCharArray()) {
if (!Character.isLowerCase(ch) && !Character.isDigit(ch)) {
return false;
}
}
return true;
}
TL;DR:在创建数据库对象时,对于MS Access 2000-2003数据库,应该使用什么常量? 我还有一个应用程序,它使用UCANAccess/JackCess连接到网络共享上的MDB。然而(据我所知),它使用登录用户的凭据,其中许多用户具有只读访问权限。只有系统/网络管理员才有写权限。 有问题的数据库没有密码保护。(打开时我不需要输入密码。) 我的目的是让应用程序在向DB写入之前使用uCa
我在rails应用程序中使用了devise gem。我找到的验证密码格式是 它工作正常,但我希望我的密码满足两个要求1)密码必须包含至少6个字母(它可以是大写字母,小写字母,数字或所有字母的组合)。 2)第二个标准是密码不应该包含任何特殊字符。 我不知道如何做到这一点,我发现的只是,我如何能强制特殊字符的存在,而不是反之亦然。 提前谢谢
我在URL中有以下格式。 这里的密码类似于qDTA*$X)ME/74。当我在URL中直接使用此密码时,邮递员不响应。我应该如何继续测试此url?
问题内容: 我的应用程序正在使用这样的NSURL: 当我试图做一个从这个NSURL获取数据的任务时,如下所示: 但是尝试从该地址获取数据时出现错误,尽管当我使用野生动物园去链接时:“ http://www.geonames.org/search.html?q =Aïn+Béïda+ Algeria&country =“我可以看到数据。我该如何解决? 问题答案: 迅捷2 编码的URL现在是: “ h
问题内容: 如何在Java / Eclipse中使用/显示♥,♦,♣或like等字符? 当我尝试直接使用它们时,例如在源代码中,Eclipse无法保存文件。 我能做什么? 编辑:如何找到Unicode转义序列? 问题答案: 问题在于,您使用的字符无法在文件设置为(Cp1252)的编码中表示。从我的角度来看,您基本上有两个选择: 选项1. 更改编码。 根据IBM的介绍,您应该将编码设置为UTF-8。