【JavaSE练习】项目_模拟用户登陆注册功能(集合完成)
来源:互联网 发布:淘宝5000字论文多少钱 编辑:程序博客网 时间:2024/05/16 14:51
需求:模拟用户登录注册--------集合进行完成
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>();/** * 用户注册功能 */@Overridepublic void regist(User user) {// 将用户添加到集合中array.add(user);}/** * 用户登录功能 */@Overridepublic boolean isLogin(String username, String password) {// 需要将每一个用户遍历出来for (User u : array) {// 获取到每一个用户信息,进行帐号密码匹配if (u.getUsername().equals(username) && u.getPassword().equals(password)) {// 如果匹配到,则返回truereturn true;}}// 若没有匹配到,返回falsereturn 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(username, 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
阅读全文
1 0
- 【JavaSE练习】项目_模拟用户登陆注册功能(集合完成)
- 【JavaSE练习】项目_项目_模拟用户登陆注册功能(IO完成)
- 使用集合实现注册登陆功能,第一步: 提示用户选择功能, A(注册) B(登陆) 。 要求: 功能选择 的时候要忽略大小写。
- 想想MVC-使用JavaBean完成用户登陆,注册和修改密码功能
- SSM基础-完成用户注册,登陆,注销,增删查改,编辑功能
- 《java入门第一季》模拟用户登陆注册案例集合版
- JDBC编程--完成用户注册功能
- Bmob-App用户登陆注册功能
- web day24 小项目练习图书商城, 用户,模块(注册,激活,登陆,退出),分类/图书模块
- Java小程序之集合框架模拟数据库实现用户登录和注册功能
- Java小程序之集合框架模拟数据库实现用户登录和注册功能
- 【JavaSE练习】面向对象_模拟银行账户
- 关于用户注册、登陆、注销小项目
- 【2】CRM_用户模块_注册功能
- 一个完整的Nodejs项目 完成连接数据库(MySQL),登陆、注册功能 session的使用 和发送邮件
- 【JavaSE练习】面向对象_练习_模拟汽车的自动驾驶系统
- 【JavaSE_项目练习】用户登录注册
- 15_常用API_第1天(Object、String、StringBuffer、用户登陆注册)
- python实现不使用额外的空间判断输入数字是否是回文数
- [编程之美-12]在二元树中找出和为某一值的所有路径
- FZU 2150 Fire Game(搜索)(从两点出发)
- 多视图几何学(Multiple View Geometry)读书笔记目录
- win10系统下怎么将繁体中文切换成简体中文
- 【JavaSE练习】项目_模拟用户登陆注册功能(集合完成)
- 2017年总-洞察事务本质,做真正的自己
- hdu 5166 Missing number(简单题)
- [编程之美-13]判断整数序列是不是二元查找数的后序遍历结果
- Android开发中应用在小米手机上出现的bug汇总
- Children of the Candy Corn
- viewpager
- KMP算法
- Spring JdbcTemplate中的回调