我是靠谱客的博主 昏睡毛衣,最近开发中收集的这篇文章主要介绍纯JAVA语言登录和注册_基于IO版的用户登录注册实例(Java),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

基于IO版的用户登录注册实例(Java)

发布时间:2020-09-27 23:34:57

来源:脚本之家

阅读:85

作者:kamaria

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

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)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持亿速云。

最后

以上就是昏睡毛衣为你收集整理的纯JAVA语言登录和注册_基于IO版的用户登录注册实例(Java)的全部内容,希望文章能够帮你解决纯JAVA语言登录和注册_基于IO版的用户登录注册实例(Java)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部