集合练习:登录注册功能

需求:

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;刚买的车怎么出现…

chrome中Google插件导出导入

导出插件&#xff1a; 一般电脑默认将你安装的插件存放的位置在&#xff1a;C:\Users&#xff08;用户&#xff09;\你的电脑名称\AppData\Local\Google\Chrome\User Data\Default\Extensions 这个文件夹下。这里的 AppData 是个隐藏文件夹&#xff0c;需要显示隐藏文件夹才行…

科目三电子路考操作流程

如果你已经通过科目二场内五项考试&#xff0c;正准备参加科目三电子路考的话&#xff0c;不妨看看由邕江驾校李师傅操作讲解的电子路考考试流程演示视频&#xff0c;每项都有详细介绍操作要领及评判标准哦。 科目三考试项目&#xff1a;上车准备、起步、路口左转弯、通过学校区…

vue Bus 总线 组件间通信

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 有时候两个组件也需要通信&#xff08;非父子关系&#xff09;。当然Vue2.0提供了Vuex&#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…

JS-[IIFE闭包]

JS-IIFE&闭包 IIFE(立即调用函数表达式)示例IIFE实现单例模式闭包计数器例子非闭包实现闭包实现IIFE闭包实现内存泄露解决IIFE(立即调用函数表达式) 示例 (function iife(){ //直接执行&#xff0c;无需调用console.log("hello"); })(); //上面相当于function ii…

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

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

vue 组件间传值、兄弟组件 、bus方式 ( 1 分钟看懂 )

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 bus方式的组件间传值其实就是建立一个公共的js文件&#xff0c;专门用来传递消息 1.建立公共文件&#xff0c;并引入 新建msgBus.js文件…

valgrind检测libevent内存泄露

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

往对象数组里面添加相同的key 不同的value

应用场景&#xff1a;后盾字段没有发给你 自己补充数据 <div v-for"item in list" :key"item.id"><p>{{ item.id}} ----> {{ item.name}} --->{{ item.sex }}---> {{ item.tel }}---->{{ item.link}}--插入数据</p></di…

vue 子组件 调用、触发父组件中的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我发现了两种写法。 方法一&#xff1a; 子组件&#xff1a; <template><button click"submit">提交</but…

新手必看一位老司机的十年开车经验

今天&#xff0c;小编为大家收集整理了一个老司机的十年开车经验&#xff0c;新手们一定要学哦&#xff0c;因为这种宝贵的开车经验是我们以后开车过程中每天都要用到的常识。将来无论在什么时候&#xff0c;这种宝贵经验都会给我们带来更安全的行车时光。新手必看的十年开车经…

Protobuf使用

Protobuf使用 github地址 目录 proto3的更新定义协议格式编译protobufprotobuf_API 枚举和嵌套类标准消息方法解析和序列化 写一条消息阅读消息编译Protobuf扩展优化高级用法 proto3的更新 在第一行非空白非注释行&#xff0c;必须写&#xff1a; syntax "proto3&…

大佬(概率期望DP)

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

vue 父组件 调用 子组件的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我们都知道通过$ref可以获取到某个DOM&#xff0c;但是它也可以用来获取子组件的实例&#xff0c;调用子组件的方法 例&#xff1a; 子…