网站通常需要满足多个要求的密码。编写一个程序来检查输入字符串是否满足以下条件(每个都显示错误消息):
至少8个字符(太短)至少一个字母(缺少字母)至少一个数字(缺少数字)至少其中一个特殊字符:!、#、%(缺少特殊字符)输出正常,或所有相关的错误消息(按上述顺序)。如果输入字符串是“Hello ”,则输出为:
太短 缺少数字 缺少特殊提示:
为每个需求声明一个布尔变量。
使用 for 循环访问每个字符,如果满足,则将相应的布尔值设置为 true(尽管长度不同)。
使用函数字符。isLetter()和字符。isDigit()用于检测字符是字母还是数字。
到目前为止,我的Java程序都是这样,但我总是会出错。谢谢你的帮助。
import html" target="_blank">java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String newString;
boolean atLeastEightCharacter;
boolean atLeastOneLetter;
boolean atLeastOneNumber;
boolean atLeastOneSpecialCharacter;
newString = scnr.nextLine();
atLeastEightCharacter = false;
atLeastOneLetter = false;
atLeastOneNumber = false;
atLeastOneSpecialCharacter = false;
if (newString.length() >= 8) {
atLeastEightCharacter = true;
for (int i = 0; i <newString.length(); i++) {
if (Character.isLetter(i)) {
atLeastOneLetter = true;
}
if (Character.isDigit(i)) {
atLeastOneDigit = true;
}
if (newString(i) == '!' || newString(i) == '#' || newString(i)
== '%') {
atLeastOneSpecialCharacter = true;
}
}
}
if (atLeastEightCharacter == false) {
System.out.println("Too short");
}
if (atLeastOneLetter == false) {
System.out.println("Missing letter");
}
if (atLeastOneDigit == false) {
System.out.println("Missing number");
}
if (atLeastOneSpecialCharacter) {
System.out.println("Missing special");
}
}
}
问题是你检查的不是字符串的符号,而是索引,变量< code>i不是char,而是整数索引
这是固定版本:
for (int i = 0; i <newString.length(); i++) {
char c = newString.charAt(i);
if (Character.isLetter(c)) atLeastOneLetter = true;
if (Character.isDigit(c)) atLeastOneDigit = true;
if (c == '!' || c == '#' || c == '%') atLeastOneSpecialCharacter = true;
}
null
我用passport进行身份验证。js。然而,在创建会话之后,在每次AJAX请求之后,RoboForm都会请求保存密码。不知道是什么原因。 接受:/ 接受-编码:gzip,放气,sdch,br 接受-语言:en-US,en;q=0.8 连接:保持活力 Cookie:connect.sid=s:jvQRBQY... 主机:localhost:3000 如果-无-匹配:W/"140-360389655
我有一个Django应用程序,可以从AWS秘密管理器中获取DB秘密。它包含所有DB参数,如用户名、密码、主机、端口等。当我在EC2上启动Django应用程序时,它会成功地从秘密管理器中检索秘密并建立一个DB连接。 现在的问题是我有一个密码循环策略设置30天。为了测试流量,目前,我已经设置为1天。每次密码旋转,我的Django应用程序就会失去DB连接。因此,我必须手动重新启动应用程序,以允许应用程序
我目前有两个循环,一个获取时间戳,另一个while循环根据时间戳查找映射信息并以某种方式输出。 我的问题是我目前正在循环浏览一个文本,并希望它在第二个循环的isdo="N"时再次从头开始读取文件,但是,情况似乎并非如此。 迄今为止的代码:
我正在编写一个python游戏,它有以下功能可以向用户询问。 最多可以有4名玩家(最少1名玩家,最多4名玩家) 它会问玩家的名字。如果名称已存在,程序将提示“名称已在列表中”,并要求再次输入名称 如果播放器在播放器名称输入中输入空字符串,它将退出。 它会询问玩家想要玩多少n个随机数字(使用randint(开始,停止)。最多只允许3位数字 我知道我必须使用