最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實(shí)現(xiàn)登錄和注冊案例

 更新時間:2022年04月25日 10:13:56   作者:yangruxi  
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)登錄和注冊案例,把用戶信息存進(jìn)集合,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Java實(shí)現(xiàn)登錄和注冊的具體代碼,供大家參考,具體內(nèi)容如下

登錄和注冊案例的分析:

我們在完成一個需求時,需要面向?qū)ο?,我們必須找到能完成某個功能的類,接著調(diào)用里面的方法來完成它。而這些類我們要進(jìn)行分包,在不同包下實(shí)現(xiàn),Java中的分包:
com.edu.domain — 標(biāo)準(zhǔn)的Java描述類
com.edu.dao — 存放的是接口
com.edu.daoimpl — 存放的是接口的實(shí)現(xiàn)類
com.edu.util — 對對象進(jìn)行操作的工具類
com.edu.test — 測試類

登錄和注冊案例用到的類:

用戶類:

成員變量:用戶名,密碼
成員方法:登錄,注冊功能

測試類:

main

登錄和注冊案例中用到的類的詳細(xì)分解:

(1)用戶類(User):用戶名,密碼,郵箱,電話號碼等等各種注冊時會用到的東西。我們在實(shí)現(xiàn)這個登錄和注冊案例的時候只需要用戶名和密碼就夠了。這是一個標(biāo)準(zhǔn)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)來定義注冊和登錄功能。接口就是對類的功能的一種擴(kuò)展,它的本質(zhì)是用來定義規(guī)則的。

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的實(shí)現(xiàn)類。

package com.edu.dao.impl;

import java.util.ArrayList;

import com.edu.dao.UserDao;
import com.edu.domain.User;

public class UserDaoImpl implements UserDao{

? ? //創(chuàng)建一個集合,定義為公有的
? ? static ArrayList<User> users=new ArrayList<User>();
? ? //注冊方法:把用戶信息存放到集合中
? ? @Override
? ? public void regist(User user) {
? ? ? ? // TODO Auto-generated method stub
? ? ? ? users.add(user);

? ? }

? ? //登錄功能:校驗(yàn)用戶名和密碼是否正確,正確返回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)在用戶完成注冊登錄后,我們可以實(shí)現(xiàn)某種功能了,例如:猜數(shù)字小游戲。再建一個游戲類(GuessNumber)。

package com.edu.game;

import java.util.Scanner;

public class GuessNumber {
? ? public static void playGame() {
? ? ? ? //獲取一個一到一百之間的隨機(jī)數(shù)
? ? ? ? int random = (int) (Math.random()*100+1);

? ? ? ? //創(chuàng)建鍵盤錄入對象,獲取鍵盤錄入數(shù)據(jù)
? ? ? ? Scanner sc = new Scanner(System.in);
? ? ? ? System.out.println("請輸入所猜測的數(shù)字:");
? ? ? ? int number = sc.nextInt();

? ? ? ? //創(chuàng)建while死循環(huán)
? ? ? ? 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("歡迎進(jìn)入注冊登錄界面:");
? ? ? ? System.out.println("1.注冊");
? ? ? ? System.out.println("2.登錄");
? ? ? ? System.out.println("3.退出");

? ? ? ? //創(chuàng)建一個用戶操作類
? ? ? ? UserDaoImpl udi = new UserDaoImpl();

? ? ? ? //創(chuàng)建鍵盤錄入對象,并獲取鍵盤錄入數(shù)據(jù)
? ? ? ? Scanner sc = new Scanner(System.in);
? ? ? ? String choice = sc.nextLine();

? ? ? ? //利用switch循環(huán)來判斷
? ? ? ? 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);
? ? ? ? ? ? //通過用戶操作類對象調(diào)用注冊方法
? ? ? ? ? ? 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();
? ? ? ? ? ? //通過用戶操作類對象調(diào)用登錄方法
? ? ? ? ? ? boolean flag = udi.isLogin(inputUserName,inputPassWord);
? ? ? ? ? ? if (flag) {
? ? ? ? ? ? ? ? System.out.println("登錄成功,玩游戲吧!");
? ? ? ? ? ? ? ? GuessNumber.playGame();
? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? System.out.println("登錄失?。?);
? ? ? ? ? ? } ??
? ? ? ? ? ? break;
? ? ? ? case "3":
? ? ? ? default:
? ? ? ? ? ? //對于3或者其他數(shù)字的選擇,都直接退出系統(tǒng)
? ? ? ? ? ? System.exit(0);
? ? ? ? ? ? break;
? ? ? ? }

? ? }
? ? }
}

運(yùn)行結(jié)果:

注冊和登錄的運(yùn)行結(jié)果:

猜數(shù)字游戲結(jié)束后退出系統(tǒng):

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot 靜態(tài)資源導(dǎo)入及首頁設(shè)置問題

    SpringBoot 靜態(tài)資源導(dǎo)入及首頁設(shè)置問題

    本節(jié)了解一下 SpringBoot 中 Web 開發(fā)的靜態(tài)資源導(dǎo)入和首頁設(shè)置,對應(yīng) SpringBoot-03-Web 項(xiàng)目,本節(jié)主要是從源碼的角度,研究了一下靜態(tài)資源導(dǎo)入和首頁設(shè)置的問題
    2021-09-09
  • Java8并行流中自定義線程池操作示例

    Java8并行流中自定義線程池操作示例

    這篇文章主要介紹了Java8并行流中自定義線程池操作,結(jié)合實(shí)例形式分析了并行流的相關(guān)概念、定義及自定義線程池的相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • Java實(shí)現(xiàn)簡易五子棋小游戲

    Java實(shí)現(xiàn)簡易五子棋小游戲

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡易五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • java通過poi解析word入門的操作方法

    java通過poi解析word入門的操作方法

    Apache POI 是一個處理Miscrosoft Office各種文件格式的開源項(xiàng)目,可以使用POI在Java程序中對Miscrosoft Office各種文件進(jìn)行讀寫操作,本文給大家介紹java通過poi解析word入門的操作方法,感興趣的朋友一起看看吧
    2024-08-08
  • 基于FLink實(shí)現(xiàn)實(shí)時安全檢測的示例代碼

    基于FLink實(shí)現(xiàn)實(shí)時安全檢測的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何基于FLink實(shí)現(xiàn)實(shí)時安全檢測的功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的可以了解一下
    2023-02-02
  • Spring Boot + thymeleaf 實(shí)現(xiàn)文件上傳下載功能

    Spring Boot + thymeleaf 實(shí)現(xiàn)文件上傳下載功能

    最近同事問我有沒有有關(guān)于技術(shù)的電子書,我打開電腦上的小書庫,但是郵件發(fā)給他太大了,公司又禁止用文件夾共享,于是花半天時間寫了個小的文件上傳程序,部署在自己的Linux機(jī)器上,需要的朋友可以參考下
    2018-01-01
  • Spring更簡單的存儲方式與獲取方式詳解

    Spring更簡單的存儲方式與獲取方式詳解

    Spring是一個輕量級的IoC和AOP容器框架,是為Java應(yīng)用程序提供基礎(chǔ)性服務(wù)的一套框架,目的是用于簡化企業(yè)應(yīng)用程序的開發(fā),它使得開發(fā)者只需要關(guān)心業(yè)務(wù)需求,下面這篇文章主要給大家介紹了關(guān)于Spring更簡單的存儲方式與獲取方式的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • java如何通過FileOutputStream字節(jié)流向文件中寫數(shù)據(jù)

    java如何通過FileOutputStream字節(jié)流向文件中寫數(shù)據(jù)

    這篇文章主要介紹了java如何通過FileOutputStream字節(jié)流向文件中寫數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • java 實(shí)現(xiàn)局域網(wǎng)文件傳輸?shù)膶?shí)例

    java 實(shí)現(xiàn)局域網(wǎng)文件傳輸?shù)膶?shí)例

    這篇文章主要介紹了java 實(shí)現(xiàn)局域網(wǎng)文件傳輸?shù)膶?shí)例的相關(guān)資料,這里提供了實(shí)現(xiàn)代碼可以幫助大家理解TCP及文件讀寫的知識,需要的朋友可以參考下
    2017-07-07
  • maven的pom.xml中repositories和distributionManagement使用

    maven的pom.xml中repositories和distributionManagement使用

    這篇文章主要介紹了maven的pom.xml中repositories和distributionManagement使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評論

中江县| 会理县| 镇远县| 苍梧县| 五寨县| 盐源县| 清徐县| 舒城县| 江北区| 光泽县| 永定县| 通许县| 大理市| 广西| 临湘市| 清流县| 慈利县| 平舆县| 定日县| 陆川县| 全椒县| 昌黎县| 布尔津县| 鄂州市| 东宁县| 霍州市| 龙井市| 黄陵县| 斗六市| 莎车县| 济阳县| 天气| 田林县| 微博| 崇州市| 新泰市| 靖远县| 包头市| 南郑县| 北海市| 灌云县|