【JavaSE练习】项目_模拟用户登陆注册功能(集合完成)
2017-08-04 22:42
489 查看
需求:模拟用户登录注册--------集合进行完成
A.思想
Java语言,是一种面向对象的思想
1)分析当前需求有哪些类?
2)分析每一个类中有哪些东西?
3)类与类之间的关系是什么?
分析:
有哪些类?
A):用户类:
成员变量:用户名,密码
构造方法:有参/无参
成员方法:set()/get()公共访问方法
如果我们的用户比较多的时候,这样写非常麻烦,把用户类拆分开来,拆分法!(根据具体的需求去拆分)
1.用户基本描述类
2.用户操作类
B):测试类:
main()方法,主程序入口
B.在java中按照哪种模块进行分
1)按功能划分
2)按模块划分
3)先按照功能划分,在按照模块划分
模拟用户登录注册:按照功能划分:要么登陆,要么注册
分包命名
用户的描述类(基本类):包的命名:公司反域名小写:com/cn/org/net.公司域名.user
用户的操作类:包的命名:com/cn/org/net.公司域名.dao(接口:抽象方法)
用户的操作了具体实现类:(接口的子实现类):com/cn/org/net.公司域名.dao.impl;实现类
测试类:com/cn/org/net.公司域名.test
测试结果
可自行在测试类中插入一些登陆成功后的后续功能:比如《模拟银行账户功能》,自行测试
《模拟银行账户功能》链接:http://blog.csdn.net/wpf719971425/article/details/74315596
A.思想
Java语言,是一种面向对象的思想
1)分析当前需求有哪些类?
2)分析每一个类中有哪些东西?
3)类与类之间的关系是什么?
分析:
有哪些类?
A):用户类:
成员变量:用户名,密码
构造方法:有参/无参
成员方法:set()/get()公共访问方法
如果我们的用户比较多的时候,这样写非常麻烦,把用户类拆分开来,拆分法!(根据具体的需求去拆分)
1.用户基本描述类
2.用户操作类
B):测试类:
main()方法,主程序入口
B.在java中按照哪种模块进行分
1)按功能划分
2)按模块划分
3)先按照功能划分,在按照模块划分
模拟用户登录注册:按照功能划分:要么登陆,要么注册
分包命名
用户的描述类(基本类):包的命名:公司反域名小写:com/cn/org/net.公司域名.user
package com.xxxxx.user; /** * 这是用户的基本描述类 * * @author Wolf * @version V1.0 * */ public class User { /** * 成员变量 */ private String username; private String password; /** * 无参构造方法 */ public User() { super(); } 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/cn/org/net.公司域名.dao(接口:抽象方法)
package com.xxxxx.dao; import com.xxxxx.user.User; /** * 这是用户的操作接口 * * @author Wolf * @version V1.0 */ public interface UserDao { /** * 这是用户注册功能 * * @param user * 注册了用户信息 */ public abstract void regist(User user); /** * 这是用户登录功能 * * @param username * 用户名 * @param password * 密码 * @return 返回的是用户登录是否成功 */ public abstract boolean isLogin(String username, String password); }
用户的操作了具体实现类:(接口的子实现类):com/cn/org/net.公司域名.dao.impl;实现类
package com.xxxxx.dao; import java.util.ArrayList; import com.xxxxx.user.User; /** * 这是用户操作的具体实现类(集合实现) * * @author Wolf * @version V1.0 */ public class UserDaoImpl implements UserDao { /* * 为了让多个功能共用这个集合对象,所以将集合对象封装成成员变量,为了不让外界看到,用private修饰 * 该集合对象被多个功能共享,所以用static修饰 */ private static ArrayList<User> array = new ArrayList<User>(); /** * 用户注册功能 */ @Override public void regist(User user) { // 将用户添加到集合中 array.add(user); } /** * 用户登录功能 */ @Override public boolean isLogin(String username, String password) { // 需要将每一个用户遍历出来 for (User u : array) { // 获取到每一个用户信息,进行帐号密码匹配 if (u.getUsername().equals(username) && u.getPassword().equals(password)) { // 如果匹配到,则返回true return true; } } // 若没有匹配到,返回false return false; } }
测试类:com/cn/org/net.公司域名.test
package com.xxxxx.test; import java.util.Scanner; import com.xxxxx.dao.UserDao; import com.xxxxx.dao.UserDaoImpl; import com.xxxxx.user.User; /** * 用户测试类 * * @author Wolf * @version V1.0 */ public class UserTest { public static void main(String[] args) { // 写一个死循环,可以多次选择 while (true) { // 简单的界面 System.out.println("**********欢迎来到英雄联盟**********"); System.out.println("*************1--登录*************"); System.out.println("*************2--注册*************"); System.out.println("*************3--退出*************"); System.out.println("********************************"); // 创建键盘录入对象 Scanner sc = new Scanner(System.in); System.out.println("请选择操作:"); String choice = sc.next(); // 创建UserDao对象 UserDao ud = new UserDaoImpl(); switch (choice) { case "1": System.out.println("*************登陆界面*************"); System.out.println("请输入用户名:"); String username = sc.next(); System.out.println("请输入密码"); String password = sc.next(); // 调用登陆功能 boolean b = ud.isLogin(u b71b sername, password); // 判断 if (b) { /* * 这个位置可以调用一些功能,比如猜数字游戏,上一章的录入学生成绩 * 也可以将之前的《模拟银行账户功能》系统插入进来 * 下面就简单的写一些操作测试一下,具体的功能自行测试 */ System.out.println("登陆成功!欢迎来到召唤师峡谷!"); System.out.println("********************************"); System.out.println("是否开始游戏?y/n"); while (true) { String s = sc.next(); if (s.equalsIgnoreCase("y")) { System.out.println("********************************"); System.out.println("敌军还有30秒到达战场!"); System.out.println("碾碎他们!"); System.out.println("Victroy"); System.out.println("********************************"); System.out.println("是否开始下一局?y/n"); } else { break; } } System.out.println("********************************"); System.out.println("谢谢!再见"); System.exit(0); } else { System.out.println("********************************"); System.out.println("帐号或密码错误!登录失败"); } break; case "2": System.out.println("*************注册界面*************"); System.out.println("请输入用户名:"); String newUsername = sc.next(); System.out.println("请输入密码:"); String newPassword = sc.next(); // 把用户名和密码封装到User对象中 User u = new User(); u.setUsername(newUsername); u.setPassword(newPassword); // 调用注册功能 ud.regist(u); System.out.println("注册成功!欢迎加入英雄联盟!"); break; case "3": default: System.out.println("谢谢!再见"); System.exit(0); } } } }
测试结果
可自行在测试类中插入一些登陆成功后的后续功能:比如《模拟银行账户功能》,自行测试
《模拟银行账户功能》链接:http://blog.csdn.net/wpf719971425/article/details/74315596
相关文章推荐
- 【JavaSE练习】项目_项目_模拟用户登陆注册功能(IO完成)
- java在线聊天项目 客户端登陆窗口LoginDialog的注册用户功能
- 《java入门第一季》模拟用户登陆注册案例集合版
- Java小程序之集合框架模拟数据库实现用户登录和注册功能
- 《java入门第一季》模拟用户登陆注册案例集合版
- web day24 小项目练习图书商城, 用户,模块(注册,激活,登陆,退出),分类/图书模块
- java在线聊天项目 客户端登陆窗口LoginDialog的注册用户功能 修改注册逻辑 增空用户名密码的反馈 增加showMessageDialog()提示框
- 使用集合实现注册登陆功能,第一步: 提示用户选择功能, A(注册) B(登陆) 。 要求: 功能选择 的时候要忽略大小写。
- Java小程序之集合框架模拟数据库实现用户登录和注册功能
- 想想MVC-使用JavaBean完成用户登陆,注册和修改密码功能
- JAVAEE——SSH项目实战05:用户注册、登陆校验拦截器、员工拜访客户功能和MD5加密
- 以下题目均在bookstore项目上完成(请先运行数据库文件): 1、编写单元测试用例,对用户注册功能的Action层进行测试。(注意:测试用例应考虑成功和失败的情况)
- 一个完整的Nodejs项目 完成连接数据库(MySQL),登陆、注册功能 session的使用 和发送邮件
- SSM基础-完成用户注册,登陆,注销,增删查改,编辑功能
- 使用sqlite3(数据库知识)的接口函数完成一个用户注册功能模块设计 要封装成函数,在独立的main中调用测试
- 学习练习 使用Servlet实现用户注册功能
- 使用集合实现注册登陆功能
- Java 使用ArrayList集合实现注册登陆功能
- 练习:用户信息管理 登陆,注册,更新,删除(Struts2)
- 用HtmlUnit完成模拟普通用户登陆系统后,查询以及导出文件