密码输入总是判断不正确

kwoojan 2008-03-10 05:57:20
红色部分出现问题,就是总是判断为else里面去
密码输入的一样我把我输入的东西打印在控制台上,密码都是654321,然而总是跑到else里面去
//修改密码中的确认密码按钮事件源
public void qr_actionPerformed(ActionEvent e)
{
DB db=new DB();
String name=sryonghuming.getText();
char []pwd =srpwd.getPassword();
char []xpwd=srxpwd.getPassword();
char []xqpwd=qrxpwd.getPassword();
try
{
if(sryonghuming.getText().length()==0||srpwd.getText().length()==0||srxpwd.getText().length()==0||qrxpwd.getText().length()==0) //判断输入是否为空
{
JOptionPane.showMessageDialog(this,"修改失败!输入为空!","验证用户信息",JOptionPane.INFORMATION_MESSAGE);
}
else
{
if(xqpwd.equals(xpwd))
{
String sql="update Operator set name='"+name+"'where pwd='"+xpwd+"'";
db.excuteSql(sql);
JOptionPane.showMessageDialog(this,"修改成功","提示信息",JOptionPane.INFORMATION_MESSAGE);
}
else
{
JOptionPane.showMessageDialog(this,"两次输入的密码不相同\n\t请重新输入","验证用户信息",JOptionPane.INFORMATION_MESSAGE);
}
}
}
...全文
74 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hp5212000 2008-03-10
  • 打赏
  • 举报
回复
干吗放到char里面?字符串的话直接赋给String变量不就可以了?
或者
if(xqpwd.toString().equals(xpwd.toString()))
sky_ccy 2008-03-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Caesary 的回复:]
另外,JPasswordField 的 getText() 方法已经被注销掉了,最好不要再使用了。
[/Quote]
高人,强,,顶呀
Caesary 2008-03-10
  • 打赏
  • 举报
回复
另外,JPasswordField 的 getText() 方法已经被注销掉了,最好不要再使用了。
Caesary 2008-03-10
  • 打赏
  • 举报
回复
你使用的是 char 的数组对象,其 equals 方法还是在比较两个引用的地址,所以结果总是 false 。你将两个密码用 String 包装一下,再用 equals 作比较应该就可以了;

String xpwd = new String(srxpwd.getPassword());
String xqpwd = new String(qrxpwd.getPassword());

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧