好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java实现登录和注册案例

本文实例为大家分享了Java实现登录和注册的具体代码,供大家参考,具体内容如下

登录和注册案例的分析:

我们在完成一个需求时,需要面向对象,我们必须找到能完成某个功能的类,接着调用里面的方法来完成它。而这些类我们要进行分包,在不同包下实现,Java中的分包:
com.edu.domain — 标准的Java描述类
com.edu.dao — 存放的是接口
com.edu.daoimpl — 存放的是接口的实现类
com.edu.util — 对对象进行操作的工具类
com.edu.test — 测试类

登录和注册案例用到的类:

用户类:

成员变量:用户名,密码
成员方法:登录,注册功能

测试类:

main

登录和注册案例中用到的类的详细分解:

(1)用户类(User):用户名,密码,邮箱,电话号码等等各种注册时会用到的东西。我们在实现这个登录和注册案例的时候只需要用户名和密码就够了。这是一个标准Java描述类。

?

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

package com.edu.domain;

 

public class User {

    private String userName;

    private String passWord;

    public String getUserName() {

        return userName;

    }

    public void setUserName(String userName) {

        this .userName = userName;

    }

    public String getPassWord() {

        return passWord;

    }

    public void setPassWord(String passWord) {

        this .passWord = passWord;

    }

    public User(String userName, String passWord) {

        super ();

        this .userName = userName;

        this .passWord = passWord;

    }

    public User() {

        super ();

        // TODO Auto-generated constructor stub

    }

 

 

}

(2)我们需要定义一个接口(UserDao)来定义注册和登录功能。接口就是对类的功能的一种扩展,它的本质是用来定义规则的。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

package com.edu.dao;

 

import com.edu.domain.User;

 

public interface UserDao {

    //这个接口保证两个功能

 

        //注册

        public abstract void regist(User user);

        //登录

        public abstract boolean isLogin(String userName,String passWord);

 

}

(3)用户操作类(UserDaoImpl),也就是之前定义的接口UserDao的实现类。

?

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

package com.edu.dao.impl;

 

import java.util.ArrayList;

 

import com.edu.dao.UserDao;

import com.edu.domain.User;

 

public class UserDaoImpl implements UserDao{

 

    //创建一个集合,定义为公有的

    static ArrayList<User> users= new ArrayList<User>();

    //注册方法:把用户信息存放到集合中

    @Override

    public void regist(User user) {

        // TODO Auto-generated method stub

        users.add(user);

 

    }

 

    //登录功能:校验用户名和密码是否正确,正确返回true,否则返回false

    @Override

    public boolean isLogin(String userName, String passWord) {

        // TODO Auto-generated method stub

        boolean flag = false ;

        for (User user : users) {

            if (userName.equals(user.getUserName())&&passWord.equals(user.getPassWord())){

                flag = true ;

                break ;

            }

        }

        return flag;

    }

 

}

(4)在用户完成注册登录后,我们可以实现某种功能了,例如:猜数字小游戏。再建一个游戏类(GuessNumber)。

?

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

package com.edu.game;

 

import java.util.Scanner;

 

public class GuessNumber {

    public static void playGame() {

        //获取一个一到一百之间的随机数

        int random = ( int ) (Math.random()* 100 + 1 );

 

        //创建键盘录入对象,获取键盘录入数据

        Scanner sc = new Scanner(System.in);

        System.out.println( "请输入所猜测的数字:" );

        int number = sc.nextInt();

 

        //创建while死循环

        while ( true ) {

            if (number>random) {

                System.out.println( "大了,请重新输入:" );

                number = sc.nextInt();

            }

            if (number<random) {

                System.out.println( "小了,请重新输入:" );

                number=sc.nextInt();

            }

            if (number==random) {

                System.out.println( "恭喜你答对了!" );

                break ;

            }

        }

 

    }

 

}

(5)测试类(Test)。

?

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

59

60

61

62

63

package com.edu.test;

 

import java.util.Scanner;

 

import com.edu.dao.impl.UserDaoImpl;

import com.edu.domain.User;

import com.edu.game.GuessNumber;

 

public class Test {

    public static void main(String[] args) {

        while ( true ){

        //首先给出提示

        System.out.println( "欢迎进入注册登录界面:" );

        System.out.println( "1.注册" );

        System.out.println( "2.登录" );

        System.out.println( "3.退出" );

 

        //创建一个用户操作类

        UserDaoImpl udi = new UserDaoImpl();

 

        //创建键盘录入对象,并获取键盘录入数据

        Scanner sc = new Scanner(System.in);

        String choice = sc.nextLine();

 

        //利用switch循环来判断

        switch (choice) {

        case "1" :

            System.out.println( "欢迎来到注册界面!" );

            System.out.println( "请输入用户名:" );

            String userName = sc.nextLine();

            System.out.println( "请输入密码:" );

            String passWord = sc.nextLine();

            //把用户名和密码封装成一个用户类对象

            User user = new User(userName,passWord);

            //通过用户操作类对象调用注册方法

            udi.regist(user);

            System.out.println( "注册成功!" );

            break ;

        case "2" :

            System.out.println( "欢迎来到登录界面!" );

            System.out.println( "请输入用户名:" );

            String inputUserName = sc.nextLine();

            System.out.println( "请输入密码:" );

            String inputPassWord = sc.nextLine();

            //通过用户操作类对象调用登录方法

            boolean flag = udi.isLogin(inputUserName,inputPassWord);

            if (flag) {

                System.out.println( "登录成功,玩游戏吧!" );

                GuessNumber.playGame();

            } else {

                System.out.println( "登录失败!" );

            }   

            break ;

        case "3" :

        default :

            //对于3或者其他数字的选择,都直接退出系统

            System.exit( 0 );

            break ;

        }

 

    }

    }

}

运行结果:

注册和登录的运行结果:

猜数字游戏结束后退出系统:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

原文链接:https://blog.csdn.net/yangruxi/article/details/71190001

查看更多关于Java实现登录和注册案例的详细内容...

  阅读:32次