來了來了!這不又到考試周了嗎!愁人,又得復習,復習,復習!這段時間每天都在復習線代和高數!😭(說是復習,說實話其實是在預習,啊哈哈哈哈哈),得有一段時間都沒有學到新的知識了,代碼感覺都生疏了,惆悵😱.博客也好久都沒有更新了,這不才完事。終於又可以寫起來了,又可以學習新的知識了,其實說實話我寫博客的主要目的就是要督促我自己學習新知識,因為自己有時候真的可懶了,再就是自己學會的知識輸出出來,有的想法不對的,大家還可以一起討論,其次也是為了幫助一些有疑難點的小白,希望你們學到同樣的知識的時候,可以少走一點彎路。好啦,廢話不多說,要說正事了。
因為有幾天沒學新的東西了,所以我就把我學校的大作業拿了出來,就當是給有幫助的人一個參考吧!(雖然網上這些也挺多的,但是還是打算把它寫出來了),有需要的抓緊收藏起來哦!!!
因為有幾天沒學新的東西了,所以我就把我學校的大作業拿了出來,就當是給有幫助的人一個參考吧!(雖然網上這些也挺多的,但是還是打算把它寫出來了),有需要的抓緊收藏起來哦!!!
知識利用for、while、do-while等循環、if語句、switch語句、數組、String類之后,現在開始創建一個小型幸運抽獎系統。
任務
模擬注冊登錄幸運抽獎全過程
主要功能
1.注冊
2.登陸
3.抽獎
2.登陸
3.抽獎
階段1 實現菜單的輸出顯示
需求說明
1.輸出菜單
2.選擇菜單編號,輸出菜單信息
3.如果編號選擇錯誤,輸出“您的輸入有誤!”
2.選擇菜單編號,輸出菜單信息
3.如果編號選擇錯誤,輸出“您的輸入有誤!”
階段2 實現菜單循環執行功能
需求說明
1.系統詢問用戶是否繼續
2.如果用戶選擇繼續,則可以繼續選擇菜單,否則程序結束,退出系統
2.如果用戶選擇繼續,則可以繼續選擇菜單,否則程序結束,退出系統
階段3 實現注冊功能
需求說明
需求說明
1.輸入用戶名和密碼,系統產生4位隨機數作為卡號。
2.注冊成功,顯示注冊信息並修改注冊標識為true
2.注冊成功,顯示注冊信息並修改注冊標識為true
階段4 實現登錄功能
需求說明
1.輸入注冊時的用戶名和密碼,登錄成功,系統提示歡迎信息
2.如果用戶名和密碼輸入錯誤,提示用戶繼續輸入,最多有3次輸入機會
2.如果用戶名和密碼輸入錯誤,提示用戶繼續輸入,最多有3次輸入機會
階段5 實現幸運抽獎功能
需求說明
1.登錄成功后,用戶選擇幸運抽獎菜單,進入幸運抽獎功能
2.輸入會員卡號,系統生成5個4位隨機數作為幸運數字
3.如果會員卡號是其中之一,則成為本日幸運會員;否則不是幸運會員
2.輸入會員卡號,系統生成5個4位隨機數作為幸運數字
3.如果會員卡號是其中之一,則成為本日幸運會員;否則不是幸運會員
以上五個階段便實現了一個簡單的幸運抽獎系統
說明:
說明:
在階段3 注冊的時候設置了在該系統中只能存儲十個用戶,而且注冊時如果該用戶名已經存在就會注冊失敗
在階段5 抽獎的時候如果沒有先進行登陸便不能進行抽獎
在階段5 抽獎的時候如果沒有先進行登陸便不能進行抽獎
```
源代碼:
源代碼:
package test;
import java.util.Scanner;
/*
* 幸運抽獎
* @author xxmeng
*/
public class LuckyTwo {
public static void main(String [] args) {
String input;
int temp=1,countx=0,county=0; //計數器
//注冊的用戶名,注冊的密碼,確認密碼,登陸密碼,會員號,幸運數
String username1=null,userpwd1=null,reuserpwd,username2=null,userpwd2,ID=null;
//數組的下標不可以超過10個,也就是用戶名注冊的數目不可以超過10個
String[][] userlist=new String[10][3]; //存儲用戶名,密碼,會員號
Scanner inputScanner = new Scanner(System.in); //從鍵盤上進行輸入
while(temp==1) { //循環系統
int temp1=1,flag=0; //計數器
System.out.println("******************歡迎進入xxmeng系統*******************");
System.out.println(" 1.注冊" ) ;
System.out.println(" 2.登錄" ) ;
System.out.println(" 3.抽獎" ) ;
System.out.println("***********************************************************") ;
System.out.println("請選擇菜單號") ;
input=inputScanner.next();
if(input.equals("1") || input.equals("2") || input.equals("3")) {
switch(input) {
case "1": //注冊
int flag1=1;
System.out.println("xxmeng系統>注冊");
System.out.println("請填寫個人注冊信息");
do {//驗證用戶是否存在
System.out.print("用戶名: ");
username1 = inputScanner.next();
int i=0;
for(i=0;i<10;i++) {
if(username1.equals(userlist[i][0])) {
System.out.println("用戶已經存在");
i=0;
break;
}
}
if(i!=0) {
flag1=0;
}
}while(flag1==1);
while(true) {
System.out.print("密碼 :");
userpwd1=inputScanner.next();
System.out.print("請確認密碼 :");
reuserpwd = inputScanner.next();
//如果輸入的密碼和當初設定的密碼相同
if(userpwd1.equals(reuserpwd)) {
System.out.println(" 注冊成功, 請記住你的會員卡號 ");
System.out.println(" 用戶名 " + '\t' + " 密碼 " + '\t' + " 會員卡號 ");
//進行四次循環每次隨機抽取一次幸運號,一個抽取四次 且抽獎的大小在1~9之間
for(int i=0;i<4;i++) {
int a = (int )(1 + Math.random() *(9));
ID+=String.valueOf(a);
}
/*
* 存儲用戶的信息
*/
userlist[countx][county]=username1;//存儲用戶名
System.out.print((userlist[countx][county]) + '\t');
userlist[countx][++county]=userpwd1;//存儲密碼
System.out.print((userlist[countx][county]) + '\t');
userlist[countx][++county]=ID.substring(4); //存儲會員號
System.out.print((userlist[countx][county]));
ID=null;
System.out.println();
county=0;
countx++;
System.out.println("是否繼續(y/n)");
char anserString = inputScanner.next().charAt(0);
//如果不繼續輸入了
if(anserString =='n') {
temp=0;
break;
}else {
break;
}
}else {
System.out.println("兩次密碼不一樣,請重新輸入密碼 ");//回頭再次修改
continue;
}
}
//否則退出
break;
/*
*2. 登錄
*/
case "2" :
System.out.println(" xxmeng系統>登錄 ");
System.out.println(" 請輸入用戶名 : ");
username2 = inputScanner.next();
for(int i=0;i<10;i++) {
flag++;
//判斷是否存在此用戶
if(username2.equals(userlist[i][0])) {
while(temp1<4) {
System.out.println("請輸入密碼 : ");
userpwd2=inputScanner.next();
//判斷登錄密碼是否正確
if(userpwd2.equals(userlist[i][1])) {
System.out.println("歡迎您 " + userlist[i][0]);
ID=userlist[i][2];
temp1=4;
}else {
System.out.println("密碼錯誤"); //超過三次直接退出系統
temp1++;
if(temp1==4) {
temp=0;
i=11;
}
continue;
}
}
}
}
if(temp1==4) {
break;
}
if(flag==4) {
System.out.println("不存在此用戶");
}
System.out.print("是否繼續(y/n)");
char anserString = inputScanner.next().charAt(0);
if(anserString =='y') {
continue;
}
if(anserString =='n') {
temp=0;
}
break;
/*
* *
* 抽獎
*/
case "3" :
if(ID==null) {
System.out.println("請先登錄 ");
continue;
}
System.out.println("xxmeng系統>抽獎");
System.out.println("您的卡號為 : " + ID );
System.out.print("本日幸運數字為 : " );
String lucknums[] = new String[5];
String lucknumber = null;
for(int i=0;i<lucknums.length;i++) {
for(int j=0;j<4;j++) { //隨機生成4個隨機數字
int a=(int )(1 + Math.random() *(9));
lucknumber +=String.valueOf(a); //輸入的那個數字把它轉化成數字字符串
}
lucknums[i] = lucknumber.substring(4);
lucknumber=null;
System.out.println(lucknums[i] + '\t' );
}
System.out.println();
for(int i=0;i<lucknums.length;i++) {
if(lucknums[i].equals(ID)) {
System.out.println(" 恭喜,您是本日的幸運會員 ");
}
}
System.out.println(" 抱歉!您不是本日的幸運會員 ");
System.out.println("是否繼續(y/n)");
char anserString1 =inputScanner.next().charAt(0);
if(anserString1 == 'n') {
temp=0;
}
break;
default:
System.out.println(" 對不起!您的輸入有誤 ");
continue;
}
}else {
System.out.println(" 請輸入正確的序號 ");
}}
inputScanner.close();
System.out.println(" 退出系統,謝謝使用!");
}
}
* 幸運抽獎
* @author xxmeng
*/
public class LuckyTwo {
public static void main(String [] args) {
String input;
int temp=1,countx=0,county=0; //計數器
//注冊的用戶名,注冊的密碼,確認密碼,登陸密碼,會員號,幸運數
String username1=null,userpwd1=null,reuserpwd,username2=null,userpwd2,ID=null;
//數組的下標不可以超過10個,也就是用戶名注冊的數目不可以超過10個
String[][] userlist=new String[10][3]; //存儲用戶名,密碼,會員號
Scanner inputScanner = new Scanner(System.in); //從鍵盤上進行輸入
while(temp==1) { //循環系統
int temp1=1,flag=0; //計數器
System.out.println("******************歡迎進入xxmeng系統*******************");
System.out.println(" 1.注冊" ) ;
System.out.println(" 2.登錄" ) ;
System.out.println(" 3.抽獎" ) ;
System.out.println("***********************************************************") ;
System.out.println("請選擇菜單號") ;
input=inputScanner.next();
if(input.equals("1") || input.equals("2") || input.equals("3")) {
switch(input) {
case "1": //注冊
int flag1=1;
System.out.println("xxmeng系統>注冊");
System.out.println("請填寫個人注冊信息");
do {//驗證用戶是否存在
System.out.print("用戶名: ");
username1 = inputScanner.next();
int i=0;
for(i=0;i<10;i++) {
if(username1.equals(userlist[i][0])) {
System.out.println("用戶已經存在");
i=0;
break;
}
}
if(i!=0) {
flag1=0;
}
}while(flag1==1);
while(true) {
System.out.print("密碼 :");
userpwd1=inputScanner.next();
System.out.print("請確認密碼 :");
reuserpwd = inputScanner.next();
//如果輸入的密碼和當初設定的密碼相同
if(userpwd1.equals(reuserpwd)) {
System.out.println(" 注冊成功, 請記住你的會員卡號 ");
System.out.println(" 用戶名 " + '\t' + " 密碼 " + '\t' + " 會員卡號 ");
//進行四次循環每次隨機抽取一次幸運號,一個抽取四次 且抽獎的大小在1~9之間
for(int i=0;i<4;i++) {
int a = (int )(1 + Math.random() *(9));
ID+=String.valueOf(a);
}
/*
* 存儲用戶的信息
*/
userlist[countx][county]=username1;//存儲用戶名
System.out.print((userlist[countx][county]) + '\t');
userlist[countx][++county]=userpwd1;//存儲密碼
System.out.print((userlist[countx][county]) + '\t');
userlist[countx][++county]=ID.substring(4); //存儲會員號
System.out.print((userlist[countx][county]));
ID=null;
System.out.println();
county=0;
countx++;
System.out.println("是否繼續(y/n)");
char anserString = inputScanner.next().charAt(0);
//如果不繼續輸入了
if(anserString =='n') {
temp=0;
break;
}else {
break;
}
}else {
System.out.println("兩次密碼不一樣,請重新輸入密碼 ");//回頭再次修改
continue;
}
}
//否則退出
break;
/*
*2. 登錄
*/
case "2" :
System.out.println(" xxmeng系統>登錄 ");
System.out.println(" 請輸入用戶名 : ");
username2 = inputScanner.next();
for(int i=0;i<10;i++) {
flag++;
//判斷是否存在此用戶
if(username2.equals(userlist[i][0])) {
while(temp1<4) {
System.out.println("請輸入密碼 : ");
userpwd2=inputScanner.next();
//判斷登錄密碼是否正確
if(userpwd2.equals(userlist[i][1])) {
System.out.println("歡迎您 " + userlist[i][0]);
ID=userlist[i][2];
temp1=4;
}else {
System.out.println("密碼錯誤"); //超過三次直接退出系統
temp1++;
if(temp1==4) {
temp=0;
i=11;
}
continue;
}
}
}
}
if(temp1==4) {
break;
}
if(flag==4) {
System.out.println("不存在此用戶");
}
System.out.print("是否繼續(y/n)");
char anserString = inputScanner.next().charAt(0);
if(anserString =='y') {
continue;
}
if(anserString =='n') {
temp=0;
}
break;
/*
* *
* 抽獎
*/
case "3" :
if(ID==null) {
System.out.println("請先登錄 ");
continue;
}
System.out.println("xxmeng系統>抽獎");
System.out.println("您的卡號為 : " + ID );
System.out.print("本日幸運數字為 : " );
String lucknums[] = new String[5];
String lucknumber = null;
for(int i=0;i<lucknums.length;i++) {
for(int j=0;j<4;j++) { //隨機生成4個隨機數字
int a=(int )(1 + Math.random() *(9));
lucknumber +=String.valueOf(a); //輸入的那個數字把它轉化成數字字符串
}
lucknums[i] = lucknumber.substring(4);
lucknumber=null;
System.out.println(lucknums[i] + '\t' );
}
System.out.println();
for(int i=0;i<lucknums.length;i++) {
if(lucknums[i].equals(ID)) {
System.out.println(" 恭喜,您是本日的幸運會員 ");
}
}
System.out.println(" 抱歉!您不是本日的幸運會員 ");
System.out.println("是否繼續(y/n)");
char anserString1 =inputScanner.next().charAt(0);
if(anserString1 == 'n') {
temp=0;
}
break;
default:
System.out.println(" 對不起!您的輸入有誤 ");
continue;
}
}else {
System.out.println(" 請輸入正確的序號 ");
}}
inputScanner.close();
System.out.println(" 退出系統,謝謝使用!");
}
}
```
運行結果如下圖所示:
```
******************歡迎進入獎客富翁系統*******************
1.注冊
2.登錄
3.抽獎
***********************************************************
請選擇菜單號
1
獎客富翁系統>注冊
請填寫個人注冊信息
用戶名: xxmeng
密碼 :123
請確認密碼 :123
注冊成功, 請記住你的會員卡號
用戶名 密碼 會員卡號
xxmeng 123 8944
是否繼續(y/n)
y
******************歡迎進入獎客富翁系統*******************
1.注冊
2.登錄
3.抽獎
***********************************************************
請選擇菜單號
2
獎客富翁系統>登錄
請輸入用戶名 :
xxmeng
請輸入密碼 :
123
歡迎您 xxmeng
******************歡迎進入獎客富翁系統*******************
1.注冊
2.登錄
3.抽獎
***********************************************************
請選擇菜單號
3
獎客富翁系統>抽獎
您的卡號為 : 8944
本日幸運數字為 : 7845
6719
4573
4466
7239
```
******************歡迎進入獎客富翁系統*******************
1.注冊
2.登錄
3.抽獎
***********************************************************
請選擇菜單號
1
獎客富翁系統>注冊
請填寫個人注冊信息
用戶名: xxmeng
密碼 :123
請確認密碼 :123
注冊成功, 請記住你的會員卡號
用戶名 密碼 會員卡號
xxmeng 123 8944
是否繼續(y/n)
y
******************歡迎進入獎客富翁系統*******************
1.注冊
2.登錄
3.抽獎
***********************************************************
請選擇菜單號
2
獎客富翁系統>登錄
請輸入用戶名 :
xxmeng
請輸入密碼 :
123
歡迎您 xxmeng
******************歡迎進入獎客富翁系統*******************
1.注冊
2.登錄
3.抽獎
***********************************************************
請選擇菜單號
3
獎客富翁系統>抽獎
您的卡號為 : 8944
本日幸運數字為 : 7845
6719
4573
4466
7239
抱歉!您不是本日的幸運會員
是否繼續(y/n)
n
退出系統,謝謝使用!
是否繼續(y/n)
n
退出系統,謝謝使用!
```
這就是一個小的抽獎系統,很簡單易懂,沒有復雜的地方,其實還可以加一些界面什么的,但是沒做那么復雜的,就一個學校的作業,就當給你們做一個參考吧!
明天打算更新並發,線程,進程之類的,艾瑪為何感覺知識這么多,還有太多知識沒有學到,學完了還忘 嗚嗚嗚.....!