Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在程序自行退出之前,我如何进行3次登录尝试?_Java_User Interface - Fatal编程技术网

Java 在程序自行退出之前,我如何进行3次登录尝试?

Java 在程序自行退出之前,我如何进行3次登录尝试?,java,user-interface,Java,User Interface,每当用户在3次尝试中获得错误的用户或密码时,程序将出现一个弹出消息窗口,其中显示“您的用户名/密码不正确,此程序将退出”,然后程序将自行退出。你们能帮帮我吗?提前谢谢你! 我试着用do-while循环,但它只是弹出了三个日志错误窗口 public void actionPerformed(ActionEvent ae) { String user = tf1.getText(); String password = tf2.getText(); String[] use

每当用户在3次尝试中获得错误的用户或密码时,程序将出现一个弹出消息窗口,其中显示“您的用户名/密码不正确,此程序将退出”,然后程序将自行退出。你们能帮帮我吗?提前谢谢你! 我试着用do-while循环,但它只是弹出了三个日志错误窗口

public void actionPerformed(ActionEvent ae) {
    String user = tf1.getText();
    String password = tf2.getText();

    String[] users = { "user1", "user2", "user3", "user", "JDjwa89duaJd8u&DuwADUu@A*Uj8dju" };
    String[] pass = { "pass1", "pass2", "pass3", "pass4", "djoiaw87798duyA*(dywayd*(&d8a7D" };
    int ctr = 1;

    if (tf1.getText() != null && tf2.getText() != null) {

        if (user.equals(users[0]) && password.equals(pass[0])) {
            System.out.println("Hello: " + users[0]);
            System.out.println("Login Succesful!");
        }

        if (user.equals(users[1]) && password.equals(pass[1])) {
            System.out.println("Hello: " + users[1]);
            System.out.println("Login Succesful!");
        }

        if (user.equals(users[2]) && password.equals(pass[2])) {
            System.out.println("Hello: " + users[2]);
            System.out.println("Login Succesful!");
        }

        if (user.equals(users[3]) && password.equals(pass[3])) {
            System.out.println("Hello: " + users[3]);
            System.out.println("Login Succesful!");

        }

        if (user.equals("") && password.equals("")) {
            JOptionPane.showMessageDialog(null, "Please type in your username/password.", "Login Error", JOptionPane.ERROR_MESSAGE);
        }
    } else if (tf1.getText() != users[4] && tf2.getText() != pass[4]) {

        JOptionPane.showMessageDialog(null, "Incorrect username/password", "Login Error", JOptionPane.ERROR_MESSAGE);
        ctr++;
    }

}

创建一个名为
loginTries
的变量,并将其设置为0。每次尝试登录失败时,将其递增(
loginTries++;
)。此外,每当您检查密码时,添加一条if语句以查看
loginTries>3
,如果是,则打印您的消息并使用
System.exit(0)退出
例如:

public void actionPerformed(ActionEvent ae)
{
int loginTries=0;
字符串user=tf1.getText();
字符串密码=tf2.getText();
字符串[]users={“user1”、“user2”、“user3”、“user”、“JDjwa89duaJd8u”&DuwADUu@A*Uj8dju“};
字符串[]pass={“pass1”、“pass2”、“pass3”、“pass4”、“djoiaw87798duyA*(dywayd*(&d8a7D“});
int ctr=1;
if(tf1.getText()!=null&&tf2.getText()!=null)
{
如果(登录次数>3){
showMessageDialog(null,“您的用户名/密码不正确,此程序将退出”,“登录错误”,JOptionPane.Error\u消息);
系统出口(0);
}
if(user.equals(users[0])&&password.equals(pass[0]))
{
System.out.println(“Hello:+users[0]);
System.out.println(“登录成功!”);
}
if(user.equals(users[1])&&password.equals(pass[1]))
{
System.out.println(“Hello:+users[1]);
System.out.println(“登录成功!”);
}
if(user.equals(users[2])&&password.equals(pass[2]))
{
System.out.println(“Hello:+users[2]);
System.out.println(“登录成功!”);
}
if(user.equals(users[3])&&password.equals(pass[3]))
{
System.out.println(“Hello:+users[3]);
System.out.println(“登录成功!”);
}
if(user.equals(“”)和password.equals(“”)
{
showMessageDialog(null,“请输入您的用户名/密码”,“登录错误”,JOptionPane.Error\u消息);
登录++;
}      
}
else if(tf1.getText()!=users[4]&&tf2.getText()!=pass[4])
{
JOptionPane.showMessageDialog(null,“用户名/密码不正确”,“登录错误”,JOptionPane.Error\u消息);
ctr++;
登录++;
}
}

另外,如果我在手机上,请使用
else,而不是使用额外的
if
s,但我会看看我是否能提供帮助。在增加计数器之前,请检查(if)用户是否尝试了<4次(也就是从1开始的3次),如果是,请说它不正确。否则(else)作为一个旁注,我建议在一个通过键/值对循环的函数中投掷登录成功。检查用户名是否存在,然后检查用户名匹配的密码是否正确。函数看起来不错,但重复性很强,所以可以考虑使用for循环来迭代数组的值。ps显示您尝试执行do while循环并退出的代码?创建一个名为
loginTries
的变量,并将其设置为0。每次登录尝试失败时,都将其递增(
loginTries++;
)。此外,每当您检查密码时,请添加一条if语句以查看
loginTries>3
,如果是,请打印消息并使用
System.exit(0);
退出。