Actionlistener代码
Player p = new Player();
/**
** Other code here
**/
private static JLabel Status;
final JTextField username = new JTextField(6);
loginButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
data = username.getText();
if(p.Login(data)){
Status.setText(data+" is correct");
} else {
Status.setText(data+" is wrong");
}
}
});
玩家类代码
public boolean login(String username){
if(username == "adam"){
return true;
} else {
return false;
}
}
无论输入什么输入,我总是得到用户名错误,我该怎么办?我做错了什么?
答案 0 :(得分:2)
您必须使用equals()
而不是==
来比较您的字符串。
注意: == 检查对象的引用是否相等。
注意: equals()此方法将此字符串与指定的对象进行比较。当且仅当参数不为null并且是表示与此对象相同的字符序列的String对象时,结果才为真
答案 1 :(得分:2)
您的错误在:
public boolean login(String username){
if(username == "adam"){
return true;
} else {
return false;
}
}
您需要更改:
if(username == "adam"){
要:
if(username.equals("adam")){
这是一个经典的String比较错误。希望这会有所帮助:)