本文實(shí)例為大家分享了java實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng) 的具體代碼,供大家參考,具體內(nèi)容如下
模擬一個(gè)在終端登陸注冊(cè)的頁(yè)面
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
public class cjtest { public static void main(string[] args) { string isgoon = "n" ; //循環(huán)的判斷條件是否繼續(xù) do { system.out.println( "*********幸運(yùn)52********" ); system.out.println( "1.注冊(cè)" ); system.out.println( "2.登錄" ); system.out.println( "3.幸運(yùn)大抽獎(jiǎng)" ); system.out.println( "***********************" ); system.out.println( "請(qǐng)選擇菜單" ); //接收用戶選擇的菜單 scanner scanner = new scanner(system.in); string meunnum = scanner.nextline(); //根據(jù)用戶的選擇 來(lái)執(zhí)行對(duì)應(yīng)功能 meunchoose(meunnum); system.out.println( "是否繼續(xù)---輸入y/n" ); //接收判斷循環(huán)條件 isgoon = scanner.nextline(); } while (isgoon.equals( "y" )); //循環(huán)結(jié)束提示 system.out.println( "歡迎下次使用" ); } //選擇對(duì)應(yīng)的方法 public static void meunchoose(string meunnum) { switch (meunnum) { case "1" : system.out.println( "抽獎(jiǎng)系統(tǒng)----注冊(cè)" ); //調(diào)用 注冊(cè)的方法 register.register(); case "2" : system.out.println( "抽獎(jiǎng)系統(tǒng)----登錄" ); //調(diào)用登錄的方法 user.islogin=login.login(); break ; case "3" : system.out.println( "抽獎(jiǎng)系統(tǒng)----幸運(yùn)抽獎(jiǎng)" ); luckdraw.lukcdraw(); break ; default : system.out.println( "輸入錯(cuò)誤請(qǐng)重新輸入" ); break ; } } } |
不連接數(shù)據(jù)庫(kù)所以模擬一個(gè)注冊(cè)時(shí)用戶信息所存放的位置
1
2
3
4
5
6
7
8
9
10
11
|
public class user { //用戶名 public static string username = "" ; //密碼 public static string password = "" ; //幸運(yùn)數(shù)字 public static int lucknumber = 0 ; //用戶的登錄狀態(tài) public static boolean islogin = false ; } |
注冊(cè)功能實(shí)現(xiàn)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
public class register { public static void register() { system.out.println( "請(qǐng)注冊(cè)用戶的個(gè)人信息" ); scanner scanner = new scanner(system.in); system.out.println( "用戶名" ); //接收用戶名 放在用戶信息中 user.username = scanner.nextline(); system.out.println( "密碼" ); //接收到用戶信息中 user.password = scanner.nextline(); //隨機(jī)一個(gè)四位的1000-2000的數(shù) 保存到用戶中。 user.lucknumber = ( int )(math.random()*( 2000 - 1000 + 1 )+ 1000 ); //顯示用戶的注冊(cè)信息 system.out.println( "用戶名" +user.username); system.out.println( "密碼" +user.password); system.out.println( "幸運(yùn)數(shù)字" +user.lucknumber); //scanner.close();標(biāo)記:注意scanner 只能關(guān)閉一次 關(guān)閉后在本程序執(zhí)行中 在創(chuàng)建也不能接收鍵盤(pán)信息了 } } |
登陸
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
public class login { static int number = 0 ; //控制循環(huán)輸入密碼三次 public static boolean login() { system.out.println( "請(qǐng)輸入用戶名:" ); //接收用戶名 scanner scanner = new scanner(system.in); string username = scanner.nextline(); system.out.println( "請(qǐng)輸出賬號(hào):" ); string password = scanner.nextline(); //判斷用戶名密碼是否匹配 if (username.equals(user.username)&&password.equals(user.password)) { //登陸成功 system.out.println( "登陸成功" ); //返回一個(gè)登錄狀態(tài) return true ; } else { //登錄失敗 有重新登錄三次機(jī)會(huì)。 number++; system.out.println( "你還有" +( 3 -number)+ "次機(jī)會(huì)" ); if (number != 3 ) { //還有登陸的機(jī)會(huì) login(); } else { //三次機(jī)會(huì)已用 登錄失敗 system.out.println( "三次機(jī)會(huì)已用完 登錄失敗" ); } //寫(xiě)返回值的時(shí)候要保證每一個(gè)分支都要有返回值 return false ; } } } |
抽獎(jiǎng)系統(tǒng)邏輯
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
public class luckdraw { //記錄輸入卡號(hào)注冊(cè) static int number = 0 ; public static void lukcdraw() { //是否注冊(cè) 沒(méi)注冊(cè)不能抽 if (user.username.length() == 0 ) { //沒(méi)注冊(cè) 下面都不執(zhí)行 system.out.println( "你沒(méi)注冊(cè)" ); return ; } //是否登錄 沒(méi)登錄不讓抽 if (!user.islogin) { system.out.println( "你沒(méi)登錄" ); return ; } //如果卡號(hào)沒(méi)輸對(duì) 也不讓抽獎(jiǎng) 直接return if (!islucknumber()) { system.out.println( "卡號(hào)不對(duì)!不能登錄" ); return ; } //真的 可以抽獎(jiǎng)了 //定義一個(gè) 變量保存中獎(jiǎng)的結(jié)果 boolean islucky = false ; //隨機(jī)五個(gè)數(shù) 打印出結(jié)果 并判斷是否匹配幸運(yùn)號(hào)碼 //定義一個(gè)變量 來(lái)保存累加的字符串 string s = "本次幸運(yùn)的數(shù)" ; for ( int i = 0 ; i < 5 ; i++) { int num = ( int ) (math.random() * ( 2000 - 1000 + 1 ) + 1000 ); //拼接要打印的字符串 if (i< 5 ) { s = s + num+ "," ; } else { s = s+num; } //判斷是否中獎(jiǎng) if (user.lucknumber==num); //中獎(jiǎng) islucky = true ; } //打印幸運(yùn)數(shù)字 system.out.println(s); if (islucky) { system.out.println( "你中獎(jiǎng)了" ); } else { system.out.println( "你沒(méi)中獎(jiǎng)" ); } } public static boolean islucknumber() { //判斷卡號(hào)是個(gè)輸入正確 //抽獎(jiǎng) system.out.println( "請(qǐng)輸入卡號(hào)" ); scanner scanner = new scanner(system.in); int lucknumber = scanner.nextint(); //判斷用戶輸入的卡號(hào)是不是 這個(gè)用戶之前隨機(jī)出來(lái)的那個(gè)數(shù) if (lucknumber==user.lucknumber) { system.out.println( "輸入正確抽獎(jiǎng)馬上運(yùn)行" ); return true ; //卡號(hào)相同可以抽獎(jiǎng) } else { //卡號(hào)不相同 重新輸入三次機(jī)會(huì) number++; if (number!= 3 ) { islucknumber(); } else { system.out.println( "三次機(jī)會(huì)已用盡" ); } return false ; } } } |
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/qq_36390044/article/details/79751929