基于Java實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)
本次任務(wù)要求為某商場(chǎng)開(kāi)發(fā)一套幸運(yùn)抽獎(jiǎng)系統(tǒng),客戶(hù)必須首先注冊(cè)成為該商場(chǎng)會(huì)員,會(huì)員登錄成功后,就可以參加抽獎(jiǎng)活動(dòng)了。
注冊(cè)
用戶(hù)選擇“注冊(cè)”菜單,進(jìn)入注冊(cè)界面。輸入用戶(hù)名和密碼后,系統(tǒng)提示注冊(cè)成功,并給出會(huì)員卡號(hào)。
登錄
注冊(cè)成功后,用戶(hù)選擇“登錄”菜單,進(jìn)入登錄界面。輸入注冊(cè)時(shí)的用戶(hù)名和密碼。登錄成功,系統(tǒng)提示歡迎信息。如果用戶(hù)和密碼輸入錯(cuò)誤,提示用戶(hù)繼續(xù)輸入,最多有3次機(jī)會(huì)。
抽獎(jiǎng)
登錄成功后,用戶(hù)選擇“抽獎(jiǎng)”菜單,進(jìn)入幸運(yùn)抽獎(jiǎng)界面。輸入會(huì)員卡號(hào),系統(tǒng)生成5個(gè)4位隨機(jī)數(shù)作為幸運(yùn)數(shù)字。如果會(huì)員卡號(hào)是其中之一,則成為本日幸運(yùn)會(huì)員。
源代碼
package cn.jbit.dlc1;
import java.util.Scanner;
public class LuckyNumber5 {
/**
* 幸運(yùn)抽獎(jiǎng)
*/
public static void main(String[] args) {
String answer = "y"; // 標(biāo)識(shí)是否繼續(xù)
String userName = ""; // 用戶(hù)名
String password = ""; // 密碼
int cardNumber = 0; // 卡號(hào)
boolean isRegister = false; // 標(biāo)識(shí)是否注冊(cè)
boolean isLogin = false; // 標(biāo)識(shí)是否登錄
int max = 9999;
int min = 1000;
Scanner input = new Scanner(System.in);
do {
System.out.println("*****歡迎進(jìn)入獎(jiǎng)客富翁系統(tǒng)*****");
System.out.println("\t1.注冊(cè)");
System.out.println("\t2.登錄");
System.out.println("\t3.抽獎(jiǎng)");
System.out.println("***************************");
System.out.print("請(qǐng)選擇菜單:");
int choice = input.nextInt();
switch (choice) {
case 1:
System.out.println("[獎(jiǎng)客富翁系統(tǒng) > 注冊(cè)]");
System.out.println("請(qǐng)?zhí)顚?xiě)個(gè)人注冊(cè)信息:");
System.out.print("用戶(hù)名:");
userName = input.next();
System.out.print("密碼:");
password = input.next();
// 獲取4位隨機(jī)數(shù)作為卡號(hào)
cardNumber = (int)(Math.random()*(max-min))+min;
System.out.println("\n注冊(cè)成功,請(qǐng)記好您的會(huì)員卡號(hào)");
System.out.println("用戶(hù)名\t密碼\t會(huì)員卡號(hào)");
System.out.println(userName + "\t" + password + "\t" + cardNumber);
isRegister = true; // 注冊(cè)成功,標(biāo)志位設(shè)置為true
break;
case 2:
System.out.println("[獎(jiǎng)客富翁系統(tǒng) > 登錄](méi)");
if (isRegister) { // 判斷是否注冊(cè)
// 3次輸入機(jī)會(huì)
for (int i = 1; i <= 3; i++) {
System.out.print("請(qǐng)輸入用戶(hù)名:");
String inputName = input.next();
System.out.print("請(qǐng)輸入密碼:");
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("用戶(hù)名或密碼錯(cuò)誤,還有" + (3 - i) + "次機(jī)會(huì)!");
} else {
System.out.println("您3次均輸入錯(cuò)誤!");
}
}
} else {
System.out.println("請(qǐng)先注冊(cè),再登錄!");
}
break;
case 3:
System.out.println("[獎(jiǎng)客富翁系統(tǒng) > 抽獎(jiǎng)]");
if (!isLogin) { // 判斷是否登錄
System.out.println("請(qǐng)先登錄,再抽獎(jiǎng)!");
System.out.println("繼續(xù)嗎?(y/n)");
answer = input.next();
} else {
//生成5個(gè)4位隨機(jī)數(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("請(qǐng)輸入您的卡號(hào):");
int yourcard = input.nextInt();
int i;
System.out.print("\n本日的幸運(yù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恭喜!您是本日的幸運(yùn)會(huì)員!");
break;
}
}
if (i == luckynums.length) {
System.out.println("\n抱歉!您不是本日的幸運(yùn)會(huì)員!");
}
}
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è)基本的小的架構(gòu),還有許多可以完善的地方,希望對(duì)您有一定的幫助。
想要學(xué)習(xí)更多關(guān)于抽獎(jiǎng)功能的實(shí)現(xiàn),請(qǐng)參考此專(zhuān)題:抽獎(jiǎng)功能
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 簡(jiǎn)單實(shí)現(xiàn)java抽獎(jiǎng)系統(tǒng)
- 純java代碼實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)
- Java抽獎(jiǎng)算法第二例
- Java實(shí)現(xiàn)雙色球抽獎(jiǎng)隨機(jī)算法示例
- Java簡(jiǎn)易抽獎(jiǎng)系統(tǒng)小項(xiàng)目
- JAVA實(shí)現(xiàn)用戶(hù)抽獎(jiǎng)功能(附完整代碼)
- Java抽獎(jiǎng)?chuàng)屬?gòu)算法
- java實(shí)現(xiàn)幸運(yùn)抽獎(jiǎng)系統(tǒng)
- JAVA使用隨機(jī)數(shù)實(shí)現(xiàn)概率抽獎(jiǎng)
- Java使用HashMap映射實(shí)現(xiàn)消費(fèi)抽獎(jiǎng)功能
相關(guān)文章
Spring底層機(jī)制環(huán)境搭建全過(guò)程
本文介紹了如何創(chuàng)建和使用Spring框架,包括模塊創(chuàng)建、依賴(lài)引入、環(huán)境搭建、Bean的生命周期管理、AOP編程以及代碼托管,通過(guò)實(shí)際操作和代碼示例,詳細(xì)講解了Spring的核心概念和功能2024-12-12
Mapstruct對(duì)象插入數(shù)據(jù)庫(kù)某個(gè)字段總是為空的bug詳解
這篇文章主要為大家介紹了在一次需求開(kāi)發(fā)Mapstruct中對(duì)象插入數(shù)據(jù)庫(kù)某個(gè)字段總是為空的bug問(wèn)題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
SpringBoot全局異常與數(shù)據(jù)校驗(yàn)的方法
這篇文章主要介紹了SpringBoot全局異常與數(shù)據(jù)校驗(yàn)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
微服務(wù)框架FEIGN使用常見(jiàn)問(wèn)題分析
這篇文章主要為大家介紹了微服務(wù)框架FEIGN常見(jiàn)問(wèn)題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
Java Enum和String及int的相互轉(zhuǎn)化示例
這篇文章主要介紹了Java Enum和String及int的相互轉(zhuǎn)化示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
SpringBoot中實(shí)現(xiàn)Druid前端監(jiān)控界面自動(dòng)登錄功能
這篇文章主要介紹了SpringBoot中實(shí)現(xiàn)Druid前端監(jiān)控界面自動(dòng)登錄功能,需要的朋友可以參考下2024-08-08
java實(shí)現(xiàn)KFC點(diǎn)餐系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)KFC點(diǎn)餐系統(tǒng),模擬肯德基快餐店的收銀系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01

