题目:程序中使用一个长度为3的对象数组,存储用户的登录名和密码:
例如如下格式:
登录名 密码 生日 爱好
注册时,要判断数组是否已满,是:则禁止注册
循环为用户列出菜单:
1.注册 2.登陆 3.退出
用户选择1,调用:registe()方法,执行注册流程;
用户选择2,调用:login()方法,执行登陆流程;
用户选择3,结束程序;
编写方法:registe(),执行注册流程:
要求用户输入以下信息(信息无需校验):
用户名:
登录密码:
出生日期:
爱好:(多个爱好中间用逗号(中英文都可以)隔开)
编写方法:login(),执行登陆流程:
请用户输入登录名、登陆密码;
使用登录名和密码进行验证;
通过:打印:这个用户的所有信息;
未通过:打印:用户名或密码错误!

//用户
public class User {
private String name;
private String passwd;
private String birthday;
private String hobby;

public User() { }
public User(String name, String passwd, String birthday, String hobby) { this.name = name;
this.passwd = passwd;
this.birthday = birthday;
this.hobby = hobby;
}

@Override
public String toString() { return "登录名: " + name + “\n” + "登录密码: " + passwd + “\n” + “出生日期: " + birthday + “\n” + “爱好: " + hobby +”\n”; }

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
}
//测试
public class Test4 {
public static void main(String[] args) {
//用户数组
User[] users = new User[3];
while (true) {
System.out.println("=用户菜单="); System.out.println(“1. 注册”);
System.out.println(“2. 登录”);
System.out.println(“3. 退出”);
System.out.print(“请选择功能编号:”);
int choose = new Scanner(System.in).nextInt();
switch (choose) {
case 1:
//调用方法:用户注册
boolean flag = register(users);
if (flag) {
System.out.println("\n用户注册成功!\n");
} else {
System.out.println("\n禁止注册!\n");
}
break;
case 2:
int index = login(users);
if (index == -1) {
System.out.println("\n还没有注册用户!\n");
} else if (index == -2) {
System.out.println("\n用户名或密码错误!\n");
} else if (index >= 0) {
System.out.println("\n=用户信息="); System.out.println(users[index]);
}
break;
case 3:
System.exit(1);
break;
default: System.out.println("\n选择功能有误,请重新选择!\n");
}
}
}
// 功能:用户登录
//@param users *
//@return
public static int login(User[] users) {
//判断数组中是否有元素
if (users[0] == null && users[1] == null && users[2] == null) {
return -1;//-1 表示数组中没存储用户信息
}
Scanner sc = new Scanner(System.in); System.out.println("\n用户登录"); System.out.print(“请输入登录名:”);
String name = sc.next();
System.out.print(“请输入密码:”);
String passwd = sc.next(); //遍历数组
for (int i = 0; i < users.length; i++) { //获取每一个用户
User user = users[i];
//判断用户名和密码是否匹配
if (user != null && user.getName().equals(name) && user.getPasswd().equals(passwd)) {
return i;//返回数组的索引
}
}
return -2;//-2 表示没有匹配到合适的账户
}
// 功能:用户注册
//@param users
//@return
public static boolean register(User[] users) { //判断数组是否已满
if (users[0] != null && users[1] != null && users[2] != null) {
return false;//表示数组已满,不能注册了
}
Scanner sc = new Scanner(System.in); System.out.println("\n用户注册"); System.out.print(“用户名:”);
String name = sc.next();
System.out.print(“登录密码:”);
String passwd = sc.next();
System.out.print(“出生日期:”);
String birthday = sc.next();
System.out.print(“爱好:”);
String hobby = sc.next();
//创建用户对象,并初始化属性值 User user = new User(name, passwd, birthday, hobby);
//判断数组是否有元素 if (users[0] == null) {
users[0] = user;
} else if (users[1] == null) {
users[1] = user;
} else if (users[2] == null) {
users[2] = user;
}
return true;
}
}

**简易的实现用户注册、登陆以及退出功能**相关推荐

  1. JavaWeb黑马旅游网-学习笔记03【登陆和退出功能】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  2. 【SpringBoot项目实战+思维导图】瑞吉外卖①(项目介绍、开发环境搭建、后台登陆/退出功能开发)

    文章目录 软件开发整体介绍 软件开发流程 角色分工 软件环境 瑞吉外卖项目介绍 项目介绍 产品原型 技术选型 功能架构 角色 开发环境搭建 数据库环境搭建 创建数据库 数据库表导入 数据库表介绍 Ma ...

  3. 主页面功能的java_6-04-项目实战-主页面显示当前用户退出功能实现

    教程列表: 1-01-servlet学习-HTTP协议的概念作用和特点 1-02-servlet学习-HTTP协议的交互流程和请求格式和请求方式 1-03-servlet学习-HTTP协议的响应格式和 ...

  4. Android超时退出功能解决方案

    一些App鉴于安全性的考虑可能需要用户长时间不操作退出登陆界面的功能,百度各种方法,但是限于本身框架原因均无法实现 我的App框架是viewPager+fragment,而且每个fragment页面还 ...

  5. springboot集成shiro实现注册、登录、退出功能

    Shiro中的认证对象 - Subject 主体 访问系统的用户.主体可以是用户.程序等,进行认证的都称为主体. - Principal 身份信息 是主体进行身份认证的标识,标识具有唯一性,如用户名. ...

  6. 个人博客四|注册登录退出功能后台开发

    声明:本博客的注册登录退出功能将使用django-allauth,参考资源如下: django-allauth文档 django-allauth教程 1.安装django-allauth pip in ...

  7. php cookie突然没,PHP利用Cookie设置用户30分钟未操作自动退出功能

    登陆控制器需要做的登陆成功把用户ID等信息存入cookie: $this->systemSetKey(array('name'=>$admin_info['admin_name'], 'i ...

  8. php登录后自动退出登录,PHP利用Cookie设置用户30分钟未操作自动退出功能

    登陆控制器需要做的登陆成功把用户ID等信息存入cookie: $this->systemSetKey(array('name'=>$admin_info['admin_name'], 'i ...

  9. 黑马旅游网编写练习(3)--登录和退出功能

    黑马旅游网编写练习(3)–登录和退出功能 完成用户的注册和邮箱激活功能之后,接下来进行登录功能的编写. 分析: 当用户在登陆界面输入用户名,密码以及验证码后,点击登录按钮:我们让其发送Ajax请求:s ...

最新文章

  1. IJCV2021 人脸关键点检测器PIPNet
  2. Poj 3522 最长边与最短边差值最小的生成树
  3. 鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.3. 安装Linux前的规划)
  4. Emacs高亮设置:Hi-Lock mode笔记
  5. shell编程基础之根据输入进行相应的操作
  6. QT与openCV,与PCL结合!
  7. 家长必读:不想逼孩子,你应该这样做
  8. Go语言sync包的应用详解
  9. vue 上次登录时间_vue实现登录之后长时间未操作,退出登录
  10. android自定义键盘小数点键,android实现 自定义键盘 keydemo
  11. linux smb上传文件,使用Samba服务器由win平台向linux平台上传文件
  12. 联想y50更换固态硬盘_旧笔记本电脑更换固态硬盘
  13. NodeJS连接MySQL
  14. java web术语_Java Web 基本概念和术语
  15. Latex笔记:IEEE Access模板 图片排版问题汇总
  16. 进入Mysql数据库操作
  17. DB2控制中心菜单中文乱码问题
  18. Gym - 101653T Runes [模拟]
  19. 【LeetCode】Day51-打家劫舍 III变形
  20. 精灵图(雪碧图)的好处

热门文章

  1. 雷帝嘎嘎:可以写汉字的洒水三轮车
  2. 网络超时设置connectionTimeout和SoTimeout的区别
  3. 结构体 7.公共钥匙盒
  4. 转型下沉的51talk 能否在在线教育“造”出一个拼多多?
  5. 如何让两台电脑共享一套鼠标和键盘
  6. Java Web篇:导出等比例图片到Excel
  7. Py之scikit-sos:scikit-sos的简介、安装、使用方法之详细攻略
  8. # Linux系统操作(九)
  9. 局部渐近稳定,全局渐进稳定,一致有界,一致最终有界
  10. listview连接mysql_ListView 数据库 C