您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何好用io實(shí)現(xiàn)用戶登錄”,在日常操作中,相信很多人在如何好用io實(shí)現(xiàn)用戶登錄問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”如何好用io實(shí)現(xiàn)用戶登錄”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
完成系統(tǒng)登錄程序,從命令行輸入用戶名和密碼,如果沒(méi)有輸入用戶名和密碼,則提示輸入用戶名和密碼;如果輸入了用戶名但是沒(méi)有輸入密碼,則提示用戶輸入密碼,然后判斷用戶名是否是mldn,密碼是否是hello,如果正確,則提示登錄成功,如果錯(cuò)誤,顯示登錄失敗的信息,用戶再次輸入用戶名和密碼,連續(xù)3次輸入錯(cuò)誤后系統(tǒng)退出。
對(duì)于此時(shí)的程序發(fā)現(xiàn)可以將用戶名和密碼同時(shí)輸入,也可以先輸入用戶名,而后輸入密碼,如果超過(guò)了3次就表示登錄結(jié)束了。對(duì)于用戶名和密碼的使用可以采用“用戶名/密碼”的形式完成,如果發(fā)現(xiàn)沒(méi)有“/”表示沒(méi)有輸入密碼。
1、定義用戶的操作接口
public interface IUserService { public boolean isExit(); public boolean login(String name,String password); }
2、定義操作接口的子類
import cn.mldn.demo.service.IUserService;public class UserServiceImpl implements IUserService {private int count = 0; //作為登錄統(tǒng)計(jì)@Overridepublic boolean isExit() {return this.count >= 3; //執(zhí)行登錄退出的條件}@Overridepublic boolean login(String name, String password) {this.count ++;return "mldn".equals(name) && "hello".equals(password); } }
3、對(duì)于登錄失敗的檢測(cè)處理操作,應(yīng)該單獨(dú)定義一個(gè)用戶的代理操作類。
import cn.mldn.demo.service.IUserService;public class UserServiceProxy implements IUserService {private IUserService userService ;public UserServiceProxy(IUserService userService) {this.userService = userService; }@Overridepublic boolean login(String name, String password) {while(!this.isExit()) { //不進(jìn)行退出String inputData = inputUtil.getString("請(qǐng)輸入登錄信息:");if(inputData.contains("/")) { //輸入了用戶名和密碼String temp [] = inputData.split("/"); //數(shù)據(jù)拆分if(this.userService.login(temp[0], temp[1])) { //登錄認(rèn)證return true; //循環(huán)結(jié)束了}else { System.out.println("登錄失敗,錯(cuò)誤的用戶名或密碼!"); } }else { //現(xiàn)在只有用戶名String pwd = inputUtil.getString("請(qǐng)輸入密碼:");if(this.userService.login(inputData, pwd)) { //登錄認(rèn)證return true; //循環(huán)結(jié)束了}else { System.out.println("登錄失敗,錯(cuò)誤的用戶名或密碼!"); } } }return false; }@Overridepublic boolean isExit() {return this.userService.isExit(); } }
4、修改工廠類定義
import cn.mldn.demo.service.IUserService;import cn.mldn.demo.service.impl.UserServiceImpl;import cn.mldn.demo.service.proxy.UserServiceProxy;public class Factory{private Factory() {}public static IUserService getInstance() {return new UserServiceProxy(); } }
5、定義測(cè)試類處理:
public class IOCaseDemo {public static void main(String[] args) { System.out.println(Factory.getInstance.login(null, null)); } }
執(zhí)行結(jié)果:
真實(shí)業(yè)務(wù)只實(shí)現(xiàn)核心功能,輔助邏輯處理交給代理控制
到此,關(guān)于“如何好用io實(shí)現(xiàn)用戶登錄”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。