gpt4 book ai didi

Java....为输入中的每个字符打印 1 个错误

转载 作者:行者123 更新时间:2023-11-30 07:36:23 25 4
gpt4 key购买 nike

我是一名 Java 编码新手,我正在尝试制作一个非常基本的用户名/密码程序。它的用户名部分工作正常,但是当我得到密码时,它给了我一些奇怪的问题。我发现,例如,当它检查大写字母时,如果它找到一个大写字母,那么它就很好,但如果没有,它会打印密码中每个字符的错误消息。它还通过数量检查和长度检查来执行此操作。如果你们中的任何人都可以简单地向我解释这一点,因为我对 java 仍然是新手,那就太棒了。谢谢!

do
{
if (count3 >0)
{
System.err.println("- At least 1 Uppercase");
System.err.println("- At least 1 number");
System.err.println("- At least 7 characters long.");
}
regPassword = input.nextLine();
regPasswordLen = regPassword.length();
for(int count = 0; count < regPasswordLen; count++)
{
if(Character.isUpperCase(regPassword.charAt(count)))
regPasswordUppercaseCheck = true;

else
{
System.err.println("Your password did not contain an Uppercase letter");
regPasswordUppercaseCheck = false;
}

if(regPassword.contains("1") || regPassword.contains("2") ||
regPassword.contains("3") || regPassword.contains("4") ||
regPassword.contains("5") || regPassword.contains("6") ||
regPassword.contains("7") || regPassword.contains("8") ||
regPassword.contains("9") || regPassword.contains("0"))
regPasswordNumCheck = true;

else
{
System.err.println("Your password did not contain at least 1 number.");
regPasswordNumCheck = false;
}

if (regPasswordLen >=7)
regPasswordLengthCheck = true;

else
{
System.err.println("Your password did not meet the minimum length requirements.");
regPasswordLengthCheck = false;
}
}
count3++;
}
while(!regPasswordUppercaseCheck || !regPasswordNumCheck || !regPasswordLengthCheck);

System.out.println("test");

最佳答案

  1. 对于每个不同的字符,每次“if and else”都使用相同的变量,即regPasswordUppercaseCheck,如果输入的每个字符除最后一个字符外都是大写,则该变量将包含 false。
  2. 我认为您使用 count3 来确保内部代码将运行一次,但如果 while 变为 false 并且 count3 条件保持为 true,则代码将陷入无限循环。
  3. 使用while(regPasswordUppercaseCheck && regPasswordNumCheck && regPasswordLengthCheck); 为了简单起见。

关于Java....为输入中的每个字符打印 1 个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35347650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com