基于IO版的用户登录注册实例(Java)
程序员文章站
2024-02-28 17:06:40
今天学的是用户登录注册功能。
4个包:
itcast.cn.user包 user.java 用户类,描述用户基本信息,包括成员变量,无参构造函数,带参构造(可有可无)....
今天学的是用户登录注册功能。
4个包:
itcast.cn.user包 user.java 用户类,描述用户基本信息,包括成员变量,无参构造函数,带参构造(可有可无).get和set方法
package itcast.cn.day22; /* * 用户基本描述包类 */ public class user { private int username; private int password; public user(){ super(); } public user(int username,int password){ super(); this.username=username; this.password=password; } public int getusername() { return username; } public void setusername(int username) { this.username = username; } public int getpassword() { return password; } public void setpassword(int password) { this.password = password; } }
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{ @override public 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; } @override public 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)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。