java学习笔记(二十四)注册登录系统

来源:互联网 发布:c语言编译器哪个好用 编辑:程序博客网 时间:2024/05/19 09:04

学习了这么多天的java基础,对java的基础语言部分已经了解的差不多了,这个时候我们就要学会融会贯通,将以前学习的知识充分运用起来,所以这个时候写一个小的注册登录系统最合适不过了
登陆注册案例分析:
我们现在写代码需要面向对象,我们必须先找到能完成某个功能的类,接着调用里面的方法完成它
登陆注册案例中的类:

  用户类    成员变量:用户名,密码    成员方法:登陆,注册功能    测试类:main

登陆注册案例中的类的详细分解:

用户类(User):用户名,密码,邮箱,电话,身份证号。。。。--- 标准的java描述类我们应该把对用户的所有的操作抽取出来形成一个类:用户操作类:注册,登陆定义一个接口:就是定义的登陆和注册的功能,我们之前说过接口是是对类的功能的一种扩展,其实当时说的还不够完善,接口本质其实是用来定义规则的测试类:main

java中的分包:

com.edu.domain --- 标准的java描述类com.edu.dao -- 存放的是接口com.edu.dao.impl -- 存放的是接口实现类com.edu.util -- 对对象进行操作的工具类com.edu.test -- 测试类

代码如下:
com.edu.domain包下的User类:

package com.exp.domain;public class User {    private String userName;    private String passWord;    public User(String userName, String passWord) {        super();        this.userName = userName;        this.passWord = passWord;    }    public User() {        super();        // TODO Auto-generated constructor stub    }    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;    }}

com.edu.dao包下的UserDao类:

package com.exp.dao;import com.exp.domain.User;public interface UserDao {    //定义注册方法    public abstract void regit(User user);    //定义登录方法    public abstract boolean log(String useName,String passWord);}

com.edu.dao.impl包下的UserDaoImpl类:

package com.exp.dao.impl;import java.util.ArrayList;import com.exp.dao.UserDao;import com.exp.domain.User;public class UserDaoImpl implements UserDao{    ArrayList<User> users=new ArrayList<User>();    @Override    //重写注册方法    public void regit(User user) {        users.add(user);        System.out.println("注册成功");    }    @Override    //重写登录方法    public boolean log(String useName, String passWord) {        boolean flag=false;        //遍历集合并判断        for (User user : users) {            if(useName.equals(user.getUserName())&&passWord.equals(user.getPassWord())){                flag=true;                break;            }        }        return flag;    }}

com.edu.test – 测试类

package com.edu.test;import java.util.Scanner;import com.edu.dao.impl.UserDaoImpl;import com.edu.domain.User;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 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 inputpPassword = sc.nextLine();                //调用用户操作类对象的登陆方法                boolean flag = udi.isLogin(inputUserName, inputpPassword);                if (flag) {                    System.out.println("登陆成功");                }else {                    System.out.println("登录失败");                }                break;            case "3":            default:                //输入3或者其他的选项,全部退出系统                System.exit(0);                break;            }        }    }}

运行结果:
这里写图片描述

0 0