Java 创建一个密码应用程序。密码输入错误3次后如何结束循环
我是一名初级程序员,学习IB计算机科学,我正在从课本上学习做练习。在用户错误输入密码3次后,如何结束此循环Java 创建一个密码应用程序。密码输入错误3次后如何结束循环,java,loops,Java,Loops,我是一名初级程序员,学习IB计算机科学,我正在从课本上学习做练习。在用户错误输入密码3次后,如何结束此循环 public class Password { public static void main(String[]args) { int remaining = 3; String reenter="hello"; do { String password=IBIO.inputStrin
public class Password
{
public static void main(String[]args)
{
int remaining = 3;
String reenter="hello";
do
{
String password=IBIO.inputString("Please enter the password: ");
if (password.indexOf("hello")>-1)
{
System.out.println("Welcome");
}
else
{
System.out.println("Access Denied");
remaining--;
}
reenter=IBIO.inputString("Enter the password: ");
}
while (reenter.equals("hello"));
while (remaining > 0);
}
}
这就是它现在看起来的样子,但当我输入错误的密码时,它只会说拒绝访问一次,然后就无法显示任何内容。我敢肯定,我不可能像那样有两个以上的时间。而且,当我正确输入密码时,它会不断要求我输入密码,这样它就不会关闭循环。只有每隔一次输入正确时,它才会说“欢迎”引入计数器
int remaining = 3;
并在else
分支中递减:
remaining--
检查其是否大于0。更换线路
while (reenter.equals("hello"));
为此:
while (remaining > 0);
您可以创建变量,并在用户每次输入密码时递增该变量。完成三次后,可以退出方法 更换
while (reenter.equals("hello"));
while (remaining > 0);
与
然后
因此,您知道,这不是一个强的或适当的身份验证方案。在(剩余!=0)时使用
更有效,因为机器代码指令更少。@zmirc嗯,这个问题看起来很简单,不必关心一两条机器代码指令。让我们慷慨一点。
while (reenter.equals("hello") && remaining > 0);
if (remaining > 0)
System.out.println("Welcome");
else
System.out.println("You are banned");