集合練習:登錄注冊功能

需求:

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.pswp.cn/news/448111.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/448111.shtml
英文地址,請注明出處:http://en.pswp.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; 子…