Java程序设计经典300例-输入的用户名找回用户密码

文章标签: java
2014-12-14 10:27:31     12 人阅读    

【实例描述】
在登录一些网站时,我们需要输入用户名和密码。也许时间久了你就会忘记所设的密码, 这时我们可以请求该网站将密码发到注册时的邮箱。这就需要判断用户输入的用户名是否正 确,我们可以通过对比用户输入的用户名字符串是否与数据库中或者已经存在的集合中的字符 串相同,来决定用户输入的用户名是否正确。实例的运行效果如图 4.1 所示。

   
图 4.1  输入的用户名找回用户密码

【实现过程】
在 Eclipse 中新建项目 Username,并在其中创建一个 Username.java 文件。在该类的主方 法中创建标准输入流的扫描器对象,接收用户输入变量值。然后判断输入值,如果不是管理员 用户名并且输入的用户名是已经注册的则显示正确提示,否则显示错误提示。核心代码如下所 示:

 

protected void do_button_actionPerformed(ActionEvent e) {
String name = usernameField.getText(); // 获取用户输入
if (name.equals("admin")) { // 判断是否管理员账号
showMessageDialog(null, "对不起,这个用户名是管理员的,不是你的");
} else if (name.equals("Lester")) { // 判断是否注册用户
showMessageDialog(null, "该用户名对应的密码已经发送到注册时的邮箱,请查收

} else { // 给错误用户名的提示对话

showMessageDialog(null, "你输入的用户名不存在,留意 Caps Lock 键是否按下。

}

}

【代码解析】
本实例采用了 String 类的 equals()方法来判断两个字符串的内容是否相同,这个方法是从 Object 类中继承的。在 Java 语言中,默认的所有类都是 Object 的子类,也就是说只要是对象, 都会重写或直接使用 Object 类的 equals()方法,String 类就重写了这个方法实现判断字符串内容 是否相同的目的。其声明语法如下:
public boolean equals(Object anObject);


【知识扩展】
在 Java 虚拟机中有一个保存字符串的池,它会记录所有的字符串。例如:

String str1=”abc”; String str2=”abc”;
String str3=new String(”abc”); 
System.out.println(str1==str2); 
System.out.println(str1==str3);

这段代码中 str1==str2 的判断将返回 true,而 str1==str3 将返回 false。因为 Java 中基本数 据类型使用“==”可以判断操作数是否相等,对于对象使用这个符号判断的是两个对象的内存 地址是否相同。如果字符串已经存在,就不在创建相同的字符串,直接返回该字符串,所以这 两个变量引用的是同一个字符串,那么它们的地址也是相同的,所以 str1==str2 成立,但是使 用 new 关键字创建的字符串会开辟内存控件,所以 str1==str3 不成立。


原文地址:http://www.itmmd.com/201412/316.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

Java程序设计经典300例 将数字货币金额转换为大写格式   上一篇
下一篇  Spring mvc新手入门(10)-ajax +spring mvc 3 实现异步登录

精彩回复
发表评论
姓名:       

《程序员app》专门为程序员量身定做!