Java實現--登入和註冊案例(把使用者資訊存進集合)
登入和註冊案例的分析:
我們在完成一個需求時,需要物件導向,我們必須找到能完成某個功能的類,接著呼叫裡面的方法來完成它。而這些類我們要進行分包,在不同包下實現,Java中的分包:
com.edu.domain — 標準的Java描述類
com.edu.dao — 存放的是介面
com.edu.daoimpl — 存放的是介面的實現類
com.edu.util — 對物件進行操作的工具類
com.edu.test — 測試類
登入和註冊案例用到的類:
使用者類:
成員變數:使用者名稱,密碼
成員方法:登入,註冊功能
測試類:
main
登入和註冊案例中用到的類的詳細分解:
(1)使用者類(User):使用者名稱,密碼,郵箱,電話號碼等等各種註冊時會用到的東西。我們在實現這個登入和註冊案例的時候只需要使用者名稱和密碼就夠了。這是一個標準Java描述類。
package com.edu.domain;
public class User {
private String userName;
private String passWord;
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;
}
public User(String userName, String passWord) {
super();
this.userName = userName;
this.passWord = passWord;
}
public User() {
super();
// TODO Auto-generated constructor stub
}
}
(2)我們需要定義一個介面(UserDao)來定義註冊和登入功能。介面就是對類的功能的一種擴充套件,它的本質是用來定義規則的。
package com.edu.dao;
import com.edu.domain.User;
public interface UserDao {
//這個介面保證兩個功能
//註冊
public abstract void regist(User user);
//登入
public abstract boolean isLogin(String userName,String passWord);
}
(3)使用者操作類(UserDaoImpl),也就是之前定義的介面UserDao的實現類。
package com.edu.dao.impl;
import java.util.ArrayList;
import com.edu.dao.UserDao;
import com.edu.domain.User;
public class UserDaoImpl implements UserDao{
//建立一個集合,定義為公有的
static ArrayList<User> users=new ArrayList<User>();
//註冊方法:把使用者資訊存放到集合中
@Override
public void regist(User user) {
// TODO Auto-generated method stub
users.add(user);
}
//登入功能:校驗使用者名稱和密碼是否正確,正確返回true,否則返回false
@Override
public boolean isLogin(String userName, String passWord) {
// TODO Auto-generated method stub
boolean flag = false;
for (User user : users) {
if(userName.equals(user.getUserName())&&passWord.equals(user.getPassWord())){
flag = true;
break;
}
}
return flag;
}
}
(4)在使用者完成註冊登入後,我們可以實現某種功能了,例如:猜數字小遊戲。再建一個遊戲類(GuessNumber)。
package com.edu.game;
import java.util.Scanner;
public class GuessNumber {
public static void playGame() {
//獲取一個一到一百之間的隨機數
int random = (int) (Math.random()*100+1);
//建立鍵盤錄入物件,獲取鍵盤錄入資料
Scanner sc = new Scanner(System.in);
System.out.println("請輸入所猜測的數字:");
int number = sc.nextInt();
//建立while死迴圈
while (true) {
if (number>random) {
System.out.println("大了,請重新輸入:");
number = sc.nextInt();
}
if (number<random) {
System.out.println("小了,請重新輸入:");
number=sc.nextInt();
}
if (number==random) {
System.out.println("恭喜你答對了!");
break;
}
}
}
}
(5)測試類(Test)。
package com.edu.test;
import java.util.Scanner;
import com.edu.dao.impl.UserDaoImpl;
import com.edu.domain.User;
import com.edu.game.GuessNumber;
public class Test {
public static void main(String[] args) {
while(true){
//首先給出提示
System.out.println("歡迎進入註冊登入介面:");
System.out.println("1.註冊");
System.out.println("2.登入");
System.out.println("3.退出");
//建立一個使用者操作類
UserDaoImpl udi = new UserDaoImpl();
//建立鍵盤錄入物件,並獲取鍵盤錄入資料
Scanner sc = new Scanner(System.in);
String choice = sc.nextLine();
//利用switch迴圈來判斷
switch (choice) {
case "1":
System.out.println("歡迎來到註冊介面!");
System.out.println("請輸入使用者名稱:");
String userName = sc.nextLine();
System.out.println("請輸入密碼:");
String passWord = sc.nextLine();
//把使用者名稱和密碼封裝成一個使用者類物件
User user = new User(userName,passWord);
//通過使用者操作類物件呼叫註冊方法
udi.regist(user);
System.out.println("註冊成功!");
break;
case "2":
System.out.println("歡迎來到登入介面!");
System.out.println("請輸入使用者名稱:");
String inputUserName = sc.nextLine();
System.out.println("請輸入密碼:");
String inputPassWord = sc.nextLine();
//通過使用者操作類物件呼叫登入方法
boolean flag = udi.isLogin(inputUserName,inputPassWord);
if (flag) {
System.out.println("登入成功,玩遊戲吧!");
GuessNumber.playGame();
}else{
System.out.println("登入失敗!");
}
break;
case "3":
default:
//對於3或者其他數字的選擇,都直接退出系統
System.exit(0);
break;
}
}
}
}
執行結果:
註冊和登入的執行結果:
猜數字遊戲結束後退出系統:
相關文章
- Laravel 實現 passport 使用者註冊登入LaravelPassport
- 使用者註冊/登入模組實踐
- Spartacus 註冊和登入頁面的實現細節
- PHP+MySQL實現使用者登入註冊API介面PHPMySqlAPI
- laravel使用者登入註冊Laravel
- 10.註冊和登入功能實現(3)—— 註冊資料寫入資料庫資料庫
- 簡單登入註冊實現(Java物件導向複習)Java物件
- node+ajax+mysql實現登入註冊MySql
- Struts2+AJAX+JQuery 實現使用者登入與註冊功能。jQuery
- Laravel5.8 入門系列二,快速實現使用者註冊登入功能Laravel
- express+vue+mongodb+session 實現註冊登入ExpressVueMongoDBSession
- 實現註冊登入你真的會了嗎
- 使用Forms Authentication實現使用者註冊、登入 (一)基礎知識ORM
- swing 實現使用者登入註冊介面(不使用資料庫)資料庫
- 創新實訓(九) 註冊、登入、找回密碼功能和個人資訊管理密碼
- HTML基礎實現簡單的註冊和登入頁面HTML
- 使用redis完成註冊和登入Redis
- node+express+mongDB實現簡單登入註冊Express
- 網站實現一個全域性的方法,實現導航欄顯示登陸註冊按鈕或者登入使用者的資訊網站
- redis儲存使用者登入資訊Redis
- Java Web實現使用者登入功能JavaWeb
- jQuery實現的利用cookie儲存使用者登入資訊程式碼例項jQueryCookie
- AJAX+JAVA使用者登陸註冊驗證Java
- 基於以太坊上實現DApp的登入註冊APP
- 用mvp模式實現登入註冊的統一校驗MVP模式
- Node.js+Mysql+Vue+ElementUI 實現登入註冊登出功能Node.jsMySqlVueUI
- Django2 Web 實戰02-使用者註冊登入退出DjangoWeb
- vue實現登入和個人資訊元件展示Vue元件
- 直播原始碼網站,新使用者登入時的註冊頁面和登入頁面原始碼網站
- javaWeb登入註冊頁面JavaWeb
- 個人作業登入+註冊
- Vue.js + element-ui + express + mongoDB 實現註冊登入功能Vue.jsUIExpressMongoDB
- 小程式開發:python sanic 實現小程式登入註冊Python
- 成品直播原始碼推薦,登入和註冊兩個頁面的簡單實現原始碼
- 使用集合實現註冊登陸功能,第一步: 提示使用者選擇功能, A(註冊) B(登陸) 。 要求: 功能選擇 的時候要忽略大小寫。
- PHP artisan cache:clear 避免把使用者登入資訊也清空PHP
- 使用者登陸註冊【JDBC版】JDBC
- 現在,ChatGPT不註冊登入也能免費用了ChatGPT