java - 创建密码应用程序。密码输入错误3次后如何结束循环

标签 java loops

我是一名正在学习 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);
    }
}

这就是现在的样子,但当我输入错误的密码时,它只说访问被拒绝一次,然后就无法显示任何内容。我很确定我不能像这样互相领先两段时间。而且,当我正确输入密码时,它会不断要求我输入密码,这样它就不会关闭循环。只有每次我正确输入时,它才会说“欢迎”

最佳答案

引入计数器

int remaining = 3;

并在else分支中递减它:

remaining--

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

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

这样:

while (remaining > 0);

关于java - 创建密码应用程序。密码输入错误3次后如何结束循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19136976/

相关文章:

javascript - 如何使用 Javascript 根据某些动态选择的值设置下拉列表的值?

java - 与通过 android studio 安装相比,作为 APK 安装时,Retrofit 的行为不同且无法解析

java - 如何从 Java 中的 XML 文件中删除 BOM

python - 在列表中生成字符串元素的组合,将它们限制为特定的字符数量

java - 在 Java 中按 Enter 键结束循环的见解

Java反射获取多个类

java - 使用 EndlessRecyclerOnScrollListener 的 Asynctask 的无尽 RecyclerView

c - 缩放二维数组 C

VBA 转到下一个过滤的单元格

c# - 在 * 而不是数字中打印值