簡(jiǎn)單實(shí)現(xiàn)java抽獎(jiǎng)系統(tǒng)
更新時(shí)間:2020年04月15日 15:29:34 作者:Dzy_water
這篇文章主要教大家如何簡(jiǎn)單實(shí)現(xiàn)java抽獎(jiǎng)系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文為大家分享了java抽獎(jiǎng)系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
用戶信息類
/* * 用戶信息類 * 1.賬號(hào) * 2.密碼 * 3.卡號(hào) * 4.是否登錄 */ public class User { public static String userName = ""; public static String passWord = ""; public static int cardNumber = 0; // 是否登錄 public static boolean isLogin = false; // 是否注冊(cè) public static boolean isRegister = false; }
注冊(cè)類
/* * 注冊(cè)類 * 1.輸入賬號(hào) 密碼 * 2.產(chǎn)生隨機(jī)號(hào) [1000,2000] * 3.保存用戶注冊(cè)信息 * 4.提示注冊(cè)成功 */ public class Register { // 注冊(cè)方法 public static void userRegister() { System.out.println("請(qǐng)輸入用戶名:"); Scanner scanner = new Scanner(System.in); // 接收用戶信息 String userName = scanner.nextLine(); System.out.println("請(qǐng)輸入密碼:"); String passWord = scanner.nextLine(); int num = (int)(Math.random() * 1001 + 1000); // 保存到用戶類中 User.userName = userName; User.passWord = passWord; User.cardNumber = num; // 打印注冊(cè)信息 System.out.println(); System.out.println("注冊(cè)成功,請(qǐng)記好你的會(huì)員卡號(hào)"); System.out.println("用戶名:" + userName); System.out.println("密碼:" + passWord); System.out.println("卡號(hào):" + num); // 保存注冊(cè)狀態(tài) User.isRegister = true; } }
登錄類
/* * 登錄類 * 1.輸入登錄的賬號(hào)和密碼 * 2.和用戶信息 進(jìn)行匹配 * 有三次重新輸入的機(jī)會(huì) * 3.登錄成功 */ public class Login { // 保存登錄失敗的次數(shù) static int num = 0; // 登錄方法 // 靜態(tài)方法里面 需要使用靜態(tài)的成員變量 public static boolean userLogin() { // 先判斷是否注冊(cè) if (User.isRegister == false) { System.out.println("請(qǐng)先注冊(cè)"); Register.userRegister(); // 登錄失敗 return false; } // 輸入信息 System.out.println("用戶名:"); Scanner scanner = new Scanner(System.in); // 接收信息 String userName = scanner.nextLine(); System.out.println("密碼:"); String passWord = scanner.nextLine(); // 判斷匹配登錄信息 if(userName.equals(User.userName) && passWord.equals(User.passWord)) { // 登錄成功 System.out.println("歡迎您" + userName); // 返回登錄結(jié)果 return true; } else { // 登錄失敗 num++; // 提示用戶還剩幾次機(jī)會(huì) System.out.println("用戶名或密碼有誤,請(qǐng)重新輸入!" + "還剩" + (3 - num) + "次"); // 判斷登錄錯(cuò)了幾次 if (num != 3) { // 繼續(xù)登錄 userLogin(); } else { // 登錄失敗 System.out.println("對(duì)不起三次機(jī)會(huì)用完,請(qǐng)明日再來!"); // 重置記錄登錄次數(shù)的變量 num = 0; } // 如果代碼走到這里 一定是登錄失敗 return false; } } }
抽獎(jiǎng)?lì)?/p>
/* * 抽獎(jiǎng)?lì)? * 1.判斷是否登錄 * 2.輸入抽獎(jiǎng)卡號(hào) * 有三次輸入卡號(hào)的機(jī)會(huì) * 3.判斷是否中獎(jiǎng) */ public class CJ { // 保存輸入卡號(hào)的次數(shù) static int cardNumber = 0; // 抽獎(jiǎng)方法 public static void userCJ() { // 判斷登錄狀態(tài) if (!User.isLogin) { // 沒登錄 直接結(jié)束方法 System.out.println("請(qǐng)先登錄"); return; } // 判斷是否輸入正確 if(!isCarNum()) { System.out.println("你輸入的不正確"); return; } // 匹配賬號(hào) // 保存是否中獎(jiǎng)的變量 boolean isCJ = false; // 隨機(jī)五個(gè)數(shù)并且拼接成字符串打印逗號(hào)隔開 String string = "本日幸運(yùn)數(shù)字:"; for (int i = 0; i < 5; i++) { // 隨機(jī) int num = (int)(Math.random() * 1001 + 1000); // 拼接 if (i < 4) { string = string + num + ","; } else { string = string + num; } // 查看是否中獎(jiǎng) if (num == User.cardNumber) { isCJ = true; } } // 打印中獎(jiǎng)號(hào) System.out.println(string); // 判斷是否中獎(jiǎng) if(isCJ) { System.out.println("中獎(jiǎng)"); } else { System.out.println("沒中獎(jiǎng)"); } } // 輸入卡號(hào)方法 public static boolean isCarNum() { System.out.println("請(qǐng)輸入卡號(hào):"); Scanner scanner = new Scanner(System.in); // 接收 String carNum = scanner.nextLine(); // 轉(zhuǎn)int int num = Integer.parseInt(carNum); // 進(jìn)行比對(duì) if (User.cardNumber == num) { // 匹配正確 System.out.println("卡號(hào)輸入正確"); return true; } else { //匹配不正確 cardNumber++; System.out.println("輸入還剩" + (3 - cardNumber) + "次"); if (cardNumber != 3) { isCarNum(); } else { System.out.println("3次機(jī)會(huì)用完"); // 輸入卡號(hào)次數(shù)重置 cardNumber = 0; } return false; } } }
抽獎(jiǎng)抽獎(jiǎng)?lì)?組裝抽獎(jiǎng)邏輯)
/* * 抽獎(jiǎng)開始類(組裝抽獎(jiǎng)邏輯) * */ public class CJStart { // 抽獎(jiǎng)開始 public void cjStart() { // 是否繼續(xù)主菜單 String isGoOn = ""; // 循環(huán)主菜單 do { System.out.println("*****歡迎進(jìn)入抽獎(jiǎng)系統(tǒng)*****"); System.out.println(" 1.注冊(cè)"); System.out.println(" 2.登錄"); System.out.println(" 3.抽獎(jiǎng)"); System.out.println("************************"); Scanner scanner = new Scanner(System.in); // 接收菜單選項(xiàng) String menuNum = scanner.nextLine(); // 判斷選項(xiàng) chooseMenuNum(menuNum); // 接收是否繼續(xù) System.out.println("是否繼續(xù)選擇? y/n"); isGoOn = scanner.nextLine(); } while (isGoOn.equals("y")); } // 判斷菜單選項(xiàng) public void chooseMenuNum(String menuNum) { switch (menuNum) { case "1": System.out.println("[藍(lán)歐抽獎(jiǎng)系統(tǒng) > 注冊(cè)]"); System.out.println("請(qǐng)?zhí)顚憘€(gè)人注冊(cè)信息:"); // 調(diào)用注冊(cè)方法 Register.userRegister(); break; case "2": System.out.println("[藍(lán)歐抽獎(jiǎng)系統(tǒng) > 登錄]"); // 調(diào)用登錄方法 保存登錄狀態(tài) boolean userLogin = Login.userLogin(); User.isLogin = userLogin; break; case "3": System.out.println("[藍(lán)歐抽獎(jiǎng)系統(tǒng) > 抽獎(jiǎng)]"); // 調(diào)用抽獎(jiǎng)方法 CJ.userCJ(); break; default: System.out.println("輸入錯(cuò)誤,請(qǐng)重新選擇"); break; } } }
測(cè)試類
/* * 測(cè)試類 */ public class CJTest { public static void main(String[] args) { CJStart cjStart = new CJStart(); cjStart.cjStart(); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
以實(shí)例講解Objective-C中的KVO與KVC機(jī)制
這篇文章主要介紹了以實(shí)例講解Objective-C中的KVO與KVC機(jī)制,即Key-Value-Observing與Key-Value-Coding,需要的朋友可以參考下2015-09-09Java 實(shí)戰(zhàn)項(xiàng)目錘煉之校園宿舍管理系統(tǒng)的實(shí)現(xiàn)流程
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+jsp+javaweb+mysql+ajax實(shí)現(xiàn)一個(gè)校園宿舍管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平2021-11-11jenkins中如何集成commander應(yīng)用的完整步驟
jenkins是一個(gè)用java編寫的開源的持續(xù)集成工具,在與oracle發(fā)生爭(zhēng)執(zhí)后,項(xiàng)目從hudson項(xiàng)目獨(dú)立出來,下面這篇文章主要給大家介紹了關(guān)于jenkins中如何集成commander應(yīng)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-05-05