集合练习:登录注册功能

需求:

1、登录账号唯一,在注册时验证输入的账号是否可用,若已存在,则不可用,若不存在则可用
2、登录时使用账号密码进行验证
 1 /**
 2  * @author Administrator
 3  *    登录信息    
 4  */
 5 public class UserLogin {
 6     private String UserName;
 7     private String PassWord;
 8     
 9     
10     public UserLogin() {
11         super();
12     }
13     public UserLogin(String userName, String passWord) {
14         super();
15         UserName = userName;
16         PassWord = passWord;
17     }
18     public String getUserName() {
19         return UserName;
20     }
21     public void setUserName(String userName) {
22         UserName = userName;
23     }
24     public String getPassWord() {
25         return PassWord;
26     }
27     public void setPassWord(String passWord) {
28         PassWord = passWord;
29     }
30 }
登录信息
 1 import java.util.HashMap;
 2 import java.util.Map;
 3 import java.util.Set;
 4 
 5 /**
 6  * @author Administrator
 7  *    初始化登录信息以及编写注册和登录验证功能
 8  */
 9 public class UserInit {
10     static Map<String, UserLogin> map;
11     //静态代码块初始化用户信息
12     static {
13         map = new HashMap<>();
14         UserLogin userLogin1 = new UserLogin("Dean", "123456");
15         UserLogin userLogin2 = new UserLogin("Tom", "123456");
16         UserLogin userLogin3 = new UserLogin("Jack", "123456");
17         map.put(userLogin1.getUserName(), userLogin1);
18         map.put(userLogin2.getUserName(), userLogin2);
19         map.put(userLogin3.getUserName(), userLogin3);
20     }
21     
22     //注册验证功能
23     public boolean Judge(String name,String password,String apassword) {
24         Set<String> keys = map.keySet();
25         for(String s:keys) {
26             if(map.get(s).getUserName().equals(name)) {
27                 System.out.println("用户名已存在!");
28                 return false;
29             }
30         }
31         if(password.equals(apassword)) {
32             System.out.println("注册成功!");
33             return true;
34         }else {
35             System.out.println("两次输入密码不一致,请重新输入!");
36             return false;
37         }
38         
39     }
40     
41     
42     //登录验证功能
43     public boolean login(String name,String password) {
44         Set<String> keys = map.keySet();
45         for(String s:keys) {
46             if(map.get(s).getUserName().equals(name)) {
47                 if((map.get(s).getPassWord().equals(password))) {
48                     System.out.println("登录成功!");
49                     return true;
50                 }else {
51                     System.out.println("用户名或密码不正确!请重新登录!");
52                     return false;
53                 }
54             }
55         }
56         System.out.println("用户不存在,请重试输入!");
57         return false;
58     }
59 }
初始化登录信息以及编写注册和登录验证功能
 1 import java.util.Scanner;
 2 
 3 /**
 4  * @author Administrator
 5  *    用户操作界面
 6  */
 7 public class LoginMap {
 8     static Scanner input = new Scanner(System.in);
 9     UserInit userinit = new UserInit();
10     boolean flag;
11     public static void main(String[] args) {
12         LoginMap login = new LoginMap();
13         System.out.println("请选择操作:1、登录\t2、注册");
14         int i = input.nextInt();
15         switch (i) {
16         case 1:
17             login.userLogin();
18             break;
19         case 2:
20             login.userEnrol();
21             break;
22         default:
23             System.out.println("感谢使用!");
24             break;
25         }
26     }
27     
28     //注册
29     public void userEnrol() {
30         
31         do {
32             System.out.println("——————————用户注册——————————");
33             System.out.println("请输入注册账号名:");
34             String name = input.next();
35             System.out.println("请输入登录密码:");
36             String password = input.next();
37             System.out.println("请再次确认密码:");
38             String apassword = input.next();
39             flag = userinit.Judge(name, password, apassword);
40         }while(!false);
41         
42     }
43     
44     //登录
45     public void userLogin() {
46         do {
47             System.out.println("——————————用户登录——————————");
48             System.out.println("请输入登录账号名:");
49             String name = input.next();
50             System.out.println("请输入登录密码:");
51             String password = input.next();
52             flag = userinit.login(name, password);
53         }while(!flag);
54         
55     }
56 }
用户操作界面

测试运行结果:

 

 

转载于:https://www.cnblogs.com/Dean-0/p/11254405.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448111.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue 通信、传值的多种方式(超详细)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、通过路由带参数进行传值 ①两个组件 A和B,A组件通过query把orderId传递给B组件&#xff08;触发事件可以是点击事件、钩子函数等&am…

新手开车 驾驶小秘诀要牢记

有很多人刚买到新车兴奋异常&#xff0c;凭着并不熟练的驾驶技术&#xff0c;过了几天的车瘾后发现&#xff0c;刚买的车怎么出现了这样那样的问题 有很多人刚买到新车兴奋异常&#xff0c;凭着并不熟练的驾驶技术&#xff0c;过了几天的车瘾后发现&#xff0c;刚买的车怎么出现…

C++没有调用析构函数

github地址 在项目中遇到一个问题&#xff0c;析构函数没有调用产生了内存泄露。 具体见valgrind检测libevent内存泄露 我们看两个例子 demo1 class Test1; void del(Test1* obj){delete obj; } class Test1{ public:Test1(){printf("Test1\r\n");}~Test1(){pri…

实际操作之路考的这些事

辛苦了这么久练习路考&#xff0c;今天终于实际操作到我路考了。上车以后。关上车门。把考试的单地上给考官。还没有认真的去看考官一眼。于是就听到考官用低沉的声音对我说&#xff1a;你好&#xff01;当时就感觉有一点意外。没想到考官你这么有礼貌。然后我就没那么紧张了&a…

[C# 网络编程系列]专题十二:实现一个简单的FTP服务器

引言&#xff1a; 休息一个国庆节后好久没有更新文章了&#xff0c;主要是刚开始休息完心态还没有调整过来的&#xff0c; 现在差不多进入状态了&#xff0c; 所以继续和大家分享下网络编程的知识&#xff0c;在本专题中将和大家分享如何自己实现一个简单的FTP服务器。在我们平…

vue 2 使用 Bus.js 实现兄弟 (非父子) 组件通信 简单案例

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 vue2中废弃了$dispatch和$broadcast广播和分发事件的方法。父子组件中可以用props和$emit()。如何实现非父子组件间的通信&#xff0c;可…

jenkins自动化部署

jenkins自动化部署 github地址 首先设置源码地址&#xff0c;jenkins会从仓库中拉取最新代码 拉取代码后运行shell脚本自动进行编译 cd mediaService cmake -S . -B cmake-build-release-hisi3531 -DCMAKE_C_COMPILER/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin…

学开车不能急于求成,心急上路

我发现很多人开始学开车以后就急着要上路&#xff0c;觉得开车是很简单的事情&#xff0c;个人觉得开车虽然不难&#xff08;相对于会开车的人来说&#xff09;&#xff0c;但是&#xff0c;虽然不是很难&#xff0c;也不是一学会开车起步就能上路去潇洒的。急于求成的人很容易…

valgrind检测libevent内存泄露

valgrind检测libevent内存泄露 github地址 在使用封装好的http库时&#xff0c;遇到了如下的内存泄露&#xff0c;一开始在definitely处还存在泄露&#xff0c;这里就不贴图了&#xff0c;已经被淹没了。 根据提示定位出错代码位置&#xff0c;如下图&#xff1a; 这里提示ev…

大佬(概率期望DP)

首先根据数据范围&#xff0c;可以判断基本上是n^2的复杂度 通过分析我们发现每一次都可以从m个数中任意选&#xff0c;既然任意选&#xff0c;那么此时的概率的分母就是不变的&#xff0c;然而题中涉及的是某一段的最大值&#xff0c;所以我们按套路假设 f[i][j]表示第i天&…

高效的数据压缩编码方式 Protobuf

高效的数据压缩编码方式 Protobuf github地址 目录 ProtocolBuffers 是什么为什么要发明 ProtocolBuffersproto3 定义 Message 分配字段编号保留字段默认字段规则各个语言标量类型对应关系枚举枚举中的保留值允许嵌套枚举不兼容性更新 Message未知字段Map 类型JsonMapping p…

解决 VUE前端项目报错:RangeError: Maximum call stack size exceeded

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 我点击菜单按钮报错&#xff1a; RangeError: Maximum call stack size exceeded 2. 原因&#xff1a;参数传递有问题或者方法调用有…

新手必须掌握的学车技巧-上坡起步

我们知道&#xff0c;做什么事情都是万事开头难&#xff0c;新手们在学车方面更能体会到这一点&#xff0c;正确掌握学车技巧对于新手来说是非常重要的事情&#xff0c;今天&#xff0c;平安学车网&#xff08;www.paxcw.com&#xff09;就会大家探讨一下我们学车时必须掌握的是…

高效的序列化/反序列化数据方式 Protobuf

高效的序列化/反序列化数据方式 Protobuf github地址 目录 protocolBuffers 序列化 Int32StringMapslice序列化小结 protocolBuffers 反序列化 Int32StringMapslice序列化小结 序列化/反序列化性能最后 protocolBuffers序列化 上篇文章中其实已经讲过了 encode 的过程&…

解决 VUE前端项目报错: Uncaught ReferenceError : initPage is not defined (initPage 方法是有的,依旧报错找不到)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 明明代码中定义了 initPage 这个方法&#xff0c;&#xff0c;却一直报找不到这个方法&#xff1a; Uncaught ReferenceError: init…

掌握新手学车技巧对于新手来说是非常重要的

刚开始学车的时候对于新手来说很多操作不知道从哪里下手&#xff0c;这个时候&#xff0c;如果按照相关的学车技巧来学习的话&#xff0c;对于新手来说是非常有好处的。下面我们就来学习一下让新手们可以快速进入开车状态的学车技巧吧&#xff01;基本上驾校的教练都会教学员把…

iView学习笔记(三):表格搜索,过滤及隐藏列操作

iView学习笔记(三)&#xff1a;表格搜索&#xff0c;过滤及隐藏某列操作 1.后端准备工作 环境说明 python版本&#xff1a;3.6.6 Django版本&#xff1a;1.11.8 数据库&#xff1a;MariaDB 5.5.60 新建Django项目&#xff0c;在项目中新建app&#xff0c;配置好数据库 api_test…

Jenkins自动编译库并上传服务器

Jenkins自动编译库并上传服务器 github地址 首先添加 git 地址&#xff1a; 再添加定时构建&#xff0c;每天夜里构建一次&#xff1a; 执行 shell 脚本进行构建 cd networklayerecho "build json x86" cmake -S . -B cmake-build-release -DCMAKE_BUILD_TYPERele…

解决:The “data“ option should be a function that returns a per-instance value in component definitions

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 只是想定义一个变量&#xff0c;方便页面上调用 。 报错&#xff1a; The "data" option should be a function that re…

gdb 调试 TuMediaService

gdb 调试 TuMediaService github地址 起因 首先需要有 armgdb 环境运行 ./armgdb ./TuMediaService 进入 gdb 模式b hi3531_trcod_interface.cc:98 打断点r 运行程序print this->vdec_config_path_ 打印关键值 在这里我们关注的值已经被修改&#xff0c;由于程序中没有刻…