我通过创建一个没有数据库的登录系统来练习一个简单的Java
GUI,但使用.equals
的if语句不起作用,因为它总是说错误的密码。< / p>
contains()
工作,但我认为这不安全
String user = USERNAME.getText();
String pass = PASSWORD.getText();
if(user.equals("username") && pass.equals("password") ){
JOptionPane.showMessageDialog(null, "Welcome to GUI");
} else {
JOptionPane.showMessageDialog(null, "Wrong Username and password");
}
答案 0 :(得分:0)
正如@MadProgrammer所指出的,equals()
是区分大小写的方法。
"password1" is NOT EQUAL to "PASSWORD1" //The strings should match with case.
另外,为避免NullPointerException
更好的方法
String user = USERNAME.getText();
String pass = PASSWORD.getText();
if ("username".equals(user) && "password".equals(pass)) {
JOptionPane.showMessageDialog(null, "Welcome to GUI");
} else {
JOptionPane.showMessageDialog(null, "Wrong Username and password");
}