首頁 > Java > java教程 > Java基於IO版實現使用者登入註冊的案例

Java基於IO版實現使用者登入註冊的案例

黄舟
發布: 2017-09-18 09:29:45
原創
1940 人瀏覽過

下面小編就為大家帶來一篇基於IO版的使用者登入註冊實例(Java)。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧

今天學的是使用者登入註冊功能。

4個套件:

itcast.cn.user套件User.java 使用者類,描述使用者基本訊息,包括成員變量,無參構造函數,帶參構造(可有可無).get和set方法


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

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 定義一個接口,宣告登入註冊功能


1

2

3

4

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版本實作方法代碼如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

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)需要多看。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

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;

}

}

}

}

登入後複製

以上是Java基於IO版實現使用者登入註冊的案例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
java可以做為web的後端嗎?
來自於 1970-01-01 08:00:00
0
0
0
安裝JAVA
來自於 1970-01-01 08:00:00
0
0
0
無法安裝java
來自於 1970-01-01 08:00:00
0
0
0
求救:JAVA加密的資料PHP解密
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板