基于Java實現(xiàn)抽獎系統(tǒng)
本次任務(wù)要求為某商場開發(fā)一套幸運抽獎系統(tǒng),客戶必須首先注冊成為該商場會員,會員登錄成功后,就可以參加抽獎活動了。
注冊
用戶選擇“注冊”菜單,進入注冊界面。輸入用戶名和密碼后,系統(tǒng)提示注冊成功,并給出會員卡號。
登錄
注冊成功后,用戶選擇“登錄”菜單,進入登錄界面。輸入注冊時的用戶名和密碼。登錄成功,系統(tǒng)提示歡迎信息。如果用戶和密碼輸入錯誤,提示用戶繼續(xù)輸入,最多有3次機會。
抽獎
登錄成功后,用戶選擇“抽獎”菜單,進入幸運抽獎界面。輸入會員卡號,系統(tǒng)生成5個4位隨機數(shù)作為幸運數(shù)字。如果會員卡號是其中之一,則成為本日幸運會員。
源代碼
package cn.jbit.dlc1; import java.util.Scanner; public class LuckyNumber5 { /** * 幸運抽獎 */ public static void main(String[] args) { String answer = "y"; // 標(biāo)識是否繼續(xù) String userName = ""; // 用戶名 String password = ""; // 密碼 int cardNumber = 0; // 卡號 boolean isRegister = false; // 標(biāo)識是否注冊 boolean isLogin = false; // 標(biāo)識是否登錄 int max = 9999; int min = 1000; Scanner input = new Scanner(System.in); do { System.out.println("*****歡迎進入獎客富翁系統(tǒng)*****"); System.out.println("\t1.注冊"); System.out.println("\t2.登錄"); System.out.println("\t3.抽獎"); System.out.println("***************************"); System.out.print("請選擇菜單:"); int choice = input.nextInt(); switch (choice) { case 1: System.out.println("[獎客富翁系統(tǒng) > 注冊]"); System.out.println("請?zhí)顚憘€人注冊信息:"); System.out.print("用戶名:"); userName = input.next(); System.out.print("密碼:"); password = input.next(); // 獲取4位隨機數(shù)作為卡號 cardNumber = (int)(Math.random()*(max-min))+min; System.out.println("\n注冊成功,請記好您的會員卡號"); System.out.println("用戶名\t密碼\t會員卡號"); System.out.println(userName + "\t" + password + "\t" + cardNumber); isRegister = true; // 注冊成功,標(biāo)志位設(shè)置為true break; case 2: System.out.println("[獎客富翁系統(tǒng) > 登錄]"); if (isRegister) { // 判斷是否注冊 // 3次輸入機會 for (int i = 1; i <= 3; i++) { System.out.print("請輸入用戶名:"); String inputName = input.next(); System.out.print("請輸入密碼:"); String inputPassword = input.next(); if (userName.equals(inputName) && password.equals(inputPassword)) { System.out.println("\n歡迎您:" + userName); isLogin = true; // 登錄成功,標(biāo)志位設(shè)置為true break; } else if (i < 3) { System.out.println("用戶名或密碼錯誤,還有" + (3 - i) + "次機會!"); } else { System.out.println("您3次均輸入錯誤!"); } } } else { System.out.println("請先注冊,再登錄!"); } break; case 3: System.out.println("[獎客富翁系統(tǒng) > 抽獎]"); if (!isLogin) { // 判斷是否登錄 System.out.println("請先登錄,再抽獎!"); System.out.println("繼續(xù)嗎?(y/n)"); answer = input.next(); } else { //生成5個4位隨機數(shù)字,并保存在數(shù)組中 int[] luckynums = new int[5]; for(int i = 0; i < luckynums.length; i++){ luckynums[i] = (int)(Math.random()*(max-min))+min; } System.out.print("請輸入您的卡號:"); int yourcard = input.nextInt(); int i; System.out.print("\n本日的幸運數(shù)字為:"); for (i = 0; i < luckynums.length; i++) { System.out.print(luckynums[i] + " "); } for (i = 0; i < luckynums.length; i++) { if (luckynums[i] == yourcard) { System.out.println("\n恭喜!您是本日的幸運會員!"); break; } } if (i == luckynums.length) { System.out.println("\n抱歉!您不是本日的幸運會員!"); } } break; default: System.out.println("[您的輸入有誤!]"); break; } System.out.print("繼續(xù)嗎?(y/n):"); answer = input.next(); System.out.println(""); } while ("y".equals(answer)); if ("n".equals(answer)) { System.out.println("系統(tǒng)退出,謝謝使用!"); } } }
只是一個基本的小的架構(gòu),還有許多可以完善的地方,希望對您有一定的幫助。
想要學(xué)習(xí)更多關(guān)于抽獎功能的實現(xiàn),請參考此專題:抽獎功能
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring?Boot實現(xiàn)分布式任務(wù)調(diào)度的步驟
Spring?Boot提供了一些工具和框架,可以幫助我們輕松地實現(xiàn)分布式任務(wù)調(diào)度,在本文中我們將介紹如何使用Spring?Boot、Spring?Cloud、Quartz和Redis來實現(xiàn)分布式任務(wù)調(diào)度,感興趣的朋友跟隨小編一起看看吧2023-06-06Java使用嵌套循環(huán)模擬ATM機取款業(yè)務(wù)操作示例
這篇文章主要介紹了Java使用嵌套循環(huán)模擬ATM機取款業(yè)務(wù)操作,結(jié)合實例形式分析了Java模擬ATM機取款業(yè)務(wù)操作的相關(guān)流程控制、數(shù)值判斷等操作技巧,需要的朋友可以參考下2019-11-11Java封裝數(shù)組實現(xiàn)在數(shù)組中查詢元素和修改元素操作示例
這篇文章主要介紹了Java封裝數(shù)組實現(xiàn)在數(shù)組中查詢元素和修改元素操作,結(jié)合實例形式分析了java針對數(shù)組元素查詢、修改的封裝操作實現(xiàn)技巧,需要的朋友可以參考下2020-03-03Java利用iTextPDF庫實現(xiàn)制作PDF表格模板并填充數(shù)據(jù)
這篇文章主要為大家詳細介紹了如何通過Java的iTextPDF庫制作一個PDF表格模板并填充數(shù)據(jù),文中的示例代碼講解詳細,感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧2023-12-12