2

我是一名正在学习 IB 计算机科学的初学者程序员,并且正在从教科书上学习做练习。用户输入错误密码 3 次后如何结束此循环。

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);
    }
}

所以这就是现在的样子,但是当我输入密码错误时,它只说一次访问被拒绝,然后就无法显示任何东西。我很确定我不能像这样在彼此之上有 2 个时间。而且当我正确输入密码时,它会一直要求我输入密码,这样它就不会关闭循环。只有每隔一次我正确输入它才会说“欢迎”

4

3 回答 3

2

介绍一个计数器

int remaining = 3;

并在else分支中减少它:

remaining--

检查它是否大于 0。替换该行

while (reenter.equals("hello"));

有了这个:

while (remaining > 0);
于 2013-10-02T12:36:57.137 回答
0

代替

while (reenter.equals("hello"));
while (remaining > 0);

while (reenter.equals("hello") && remaining > 0);

然后

 if (remaining > 0)
        System.out.println("Welcome");
    else
        System.out.println("You are banned");
于 2013-10-02T13:37:05.023 回答
0

您可以在每次用户输入密码时创建变量并增加它。完成 3 次后,您可以退出方法。

于 2013-10-02T12:37:21.883 回答