时间:2021-05-19
今天学的是用户登录注册功能。
4个包:
itcast.cn.user包 User.java 用户类,描述用户基本信息,包括成员变量,无参构造函数,带参构造(可有可无).get和set方法
tcast.cn.uerDao包 UserDao.java 定义一个接口,声明登录注册功能
public interface UserDao { 2 public abstract boolean islogin( String userName, String passWord); 3 public abstract void register(User user); 4 }itcast.cn.userDaoImpl包 UserDaoImpl.java 实现UserDao接口,具体描述登录注册方法。
需要注意的是:在登录方法中,返回值boolean flag = true 即登录成功
在实现过程中需要注意的一点是:全局变量br,bw的声明一定要放在try大括号外
IO版本实现方法代码如下:
public class UserDaoImpl implements UserDao{@Overridepublic boolean islogin(String userName, String passWord) {boolean flag = false;BufferedReader br = null;try {br = new BufferedReader(new FileReader("user,txt"));String line = null;while((line=br.readLine())!=null){String[] datas = line.split("=");if(datas[0].equals(userName)&&datas[1].equals(passWord)){flag = true;break;}}} catch (FileNotFoundException e) {//e.printStackTrace();System.out.println("用户信息获取失败");}catch (IOException e) {//e.printStackTrace();System.out.println("用户登录失败");}if(br!=null){try {br.close();} catch (IOException e) {//e.printStackTrace();System.out.println("用户释放资源失败");}}return flag;}@Overridepublic void register(User user) {BufferedWriter bw = null; try {bw = new BufferedWriter(new FileWriter("user.txt"));bw.write(user.getUserName()+"="+user.getPassWord());bw.newLine();} catch (IOException e) {//e.printStackTrace();System.out.println("注册失败");}finally{if(bw!=null){try {bw.close();} catch (IOException e) {//e.printStackTrace();System.out.println("注册释放资源失败");}}}57}}itcast.cn.usertest包 UserTest类 测试类
在这个类中,存在一个未解决的问题:
scanner函数无法一个一个的输入,另外构造方法中的(true)需要多看。
package itcast.cn.day22;import java.util.Scanner;public class UserTest {public static void main(String[] args) {//欢迎界面while(true){UserDao ud = new UserDaoImpl();System.out.println("*****欢迎进入*****");System.out.println("登录请输入1");System.out.println("注册请输入2");System.out.println("返回请输入3");System.out.println("请输入你的选择:");Scanner sc = new Scanner(System.in);int choice = sc.nextInt();switch(choice){case 1:System.out.println("*****登录界面*****************");//Scanner sc1 = new Scanner(System.in);System.out.println("请输入用户名:");String userName = sc.nextLine();System.out.println("请输入密码:");String passWord = sc.nextLine();boolean flag = ud.islogin(userName, passWord);if(flag){System.out.println("登录成功");break;}else{System.out.println("用户名或密码错误");}case 2:System.out.println("*****注册界面****************");System.out.println("请输入用户名:");String userName1 = sc.nextLine();System.out.println("请输入密码:");String passWord1 = sc.nextLine();User user = new User();user.getUserName();user.getPassWord();ud.register(user);System.out.println("注册成功");break;case 3:default:System.out.println("谢谢使用,欢迎下次再来");System.exit(0);break;}}}}以上这篇基于IO版的用户登录注册实例(Java)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了JavaWeb基于Session的登录实现方法。分享给大家供大家参考,具体如下:packagecn.com.login;importjava.io
java的Console类的使用方法及实例JDK6中提供了java.io.Console类专用来访问基于字符的控制台设备。如果你的Java程序要与Windows
本文实例讲述了java基于socket传输zip文件的方法。分享给大家供大家参考,具体如下:服务器端程序:importjava.io.*;importjava.
java如何实现写入并保存txt文件?实例代码如下:packageTEST;importjava.io.BufferedWriter;importjava.io
本文实例讲述了Laravel框架基于自带的用户系统实现登录注册及错误处理功能。分享给大家供大家参考,具体如下:一、默认Laravel不会自动帮你装上用户系统,二