首页 > 解决方案 > 如何创建一个接受一定数量的密码字符的 GUI?

问题描述

我必须创建一个向用户询问用户名和密码的 NetBeans GUI。密码长度必须至少为 8 个字符。如果不是 8 个字符,则必须向用户发送一条消息,通知他们这不是适当的密码。如果密码为 8 个字符,则在密码末尾添加 1 到 100(含)之间的随机数。

我没有收到有关如何创建此应用程序的任何说明,而且讲师没有在截止日期之前及时回复我的电子邮件,这就是我在 Stack Overflow 上问这个问题的原因。请帮我弄清楚如何为这种类型的程序编写代码。

我尝试解决一个 for 循环,以便输入的密码可以进行比较。我正在考虑添加一个 if 语句,这样如果它不符合要求,就会发出适当的消息。下面的代码是我到目前为止所拥有的......

   String strUser, password;
    strUser=this.txtInput1.getText();
    password=this.txtInput2.getText();

    if(password.equals(this.value.length < 8))
    {
        this.txtOutput.setText("Your Password is Less Than 8 Characters");
    }
    else if(password.equals(this.value.length > 8)) 
    {
        this.txtOutput.setText("Your Password is More than 8 Characters");
    }
    else if(password.equals(this.value.length == 8))
    {
        for (int i = 1; i <= 10 ; i++)
        {
        int Random = (int)(Math.random()*100);
        this.txtOutput.setText("Password:"+ password + Random);
        }
        this.txtOutput.setText("UserName:" + strUser);
    }
} 

GUI 应该如下所示:

Enter user: geekysquirrel
Enter Password (minimum of 8 characters): programmer

输出:

User: geekysquirrel Password:programmer98

标签: javauser-interfacefor-loopif-statementnetbeans

解决方案


在您的代码中,您有这个。当你输入“这个”时。它指的是当前类。

(password.equals(this.value.length < 8)

字符串具有获取长度的内置方法。只需调用 .length 如下所示。

(password.length() < 8)

同样对于您循环,它将从您在所需输出中显示的内容运行十次,我将删除它,因为您只需要一次。

for (int i = 1; i <= 10 ; i++)
    {
    int Random = (int)(Math.random()*100);
    this.txtOutput.setText("Password:"+ password + Random);
    }

推荐阅读