1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java实现登录注册案例_Java基于IO版实现用户登录注册的案例

java实现登录注册案例_Java基于IO版实现用户登录注册的案例

时间:2021-04-29 01:30:21

相关推荐

java实现登录注册案例_Java基于IO版实现用户登录注册的案例

下面小编就为大家带来一篇基于IO版的用户登录注册实例(Java)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

今天学的是用户登录注册功能。

4个包:

.user包 User.java 用户类,描述用户基本信息,包括成员变量,无参构造函数,带参构造(可有可无).get和set方法

package .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;

}

}

.uerDao包 UserDao.java 定义一个接口,声明登录注册功能

public interface UserDao {

2 public abstract boolean islogin( String userName, String passWord);

3 public abstract void register(User user);

4 }

.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}

}

.usertest包 UserTest类 测试类

在这个类中,存在一个未解决的问题:

scanner函数无法一个一个的输入,另外构造方法中的(true)需要多看。

package .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;

}

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。