实现用户登录时信息验证

jimmyguomi 2013-04-03 10:14:10
实现以下操作: 请用户输入用户名:manage
请用户输入密码:0000

用户名和密码不匹配!你还有2次机会进入系统,请重新输入!
请用户输入用户名:manage
请用户输入密码:1111

用户名和密码不匹配!你还有1次机会进入系统,请重新输入!
请用户输入用户名:guomi
请用户输入密码:110120

欢迎进入我行我素购物管理系统!!!
注:超过3次输入就打印 《不好意思你没有权限进入系统!!!》
为什么下面我写的代码没法实现上面的操作,老是提示用户不匹配,求解?可以在我的代码上进行修改.
代码:
public static void main(String[] args) {
String userName = "guomi";
String userpassword = "110120";
for(int i =3;i>=1;i--){
Scanner sc = new Scanner(System.in);
System.out.println("请用户输入用户名:");
String name = sc.next();
System.out.println("请用户输入密码:");
String password = sc.next();
if(name == userName && password == userpassword){
System.out.println("欢迎进入我行我素购物管理系统!!!");
break;
}else if(name != userName || password != userpassword){
System.out.println("用户名和密码不匹配!你还有"+(i-1)+"次机会进入系统,请重新输入:");

}else{
System.out.println("不好意思你没有权限进入系统!!!");

}
}
}
...全文
455 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
用.equal()
  • 打赏
  • 举报
回复
用.equal()
Homer_Gu 2013-04-04
  • 打赏
  • 举报
回复
引用 1 楼 a_c_e 的回复:
楼主,你好,在java中,比较字符串是否相同,不能用if(name == userName && password == userpassword)这样的方法,因为==比较的是两个字符串的地址,计算机为每个变量申请的地址都不一样,所以楼主你的程序就会出现不匹配的问题,楼主应该改为: if(name.Equals(userName)==true &……
+1
阿七哥 2013-04-04
  • 打赏
  • 举报
回复
楼主,你好,在java中,比较字符串是否相同,不能用if(name == userName && password == userpassword)这样的方法,因为==比较的是两个字符串的地址,计算机为每个变量申请的地址都不一样,所以楼主你的程序就会出现不匹配的问题,楼主应该改为: if(name.Equals(userName)==true &&password.Equals(userpassword)==true )
jimmyguomi 2013-04-04
  • 打赏
  • 举报
回复
多谢各位,忘记了,呵呵。

62,614

社区成员

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

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