本文為大家分享了java抽獎系統(tǒng)的具體代碼,供大家參考,具體內容如下
用戶信息類
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
/* * 用戶信息類 * 1.賬號 * 2.密碼 * 3.卡號 * 4.是否登錄 */ public class User { public static String userName = "" ; public static String passWord = "" ; public static int cardNumber = 0 ; // 是否登錄 public static boolean isLogin = false ; // 是否注冊 public static boolean isRegister = false ; } |
注冊類
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
|
/* * 注冊類 * 1.輸入賬號 密碼 * 2.產生隨機號 [1000,2000] * 3.保存用戶注冊信息 * 4.提示注冊成功 */ public class Register { // 注冊方法 public static void userRegister() { System.out.println( "請輸入用戶名:" ); Scanner scanner = new Scanner(System.in); // 接收用戶信息 String userName = scanner.nextLine(); System.out.println( "請輸入密碼:" ); String passWord = scanner.nextLine(); int num = ( int )(Math.random() * 1001 + 1000 ); // 保存到用戶類中 User.userName = userName; User.passWord = passWord; User.cardNumber = num; // 打印注冊信息 System.out.println(); System.out.println( "注冊成功,請記好你的會員卡號" ); System.out.println( "用戶名:" + userName); System.out.println( "密碼:" + passWord); System.out.println( "卡號:" + num); // 保存注冊狀態(tài) User.isRegister = true ; } } |
登錄類
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
|
/* * 登錄類 * 1.輸入登錄的賬號和密碼 * 2.和用戶信息 進行匹配 * 有三次重新輸入的機會 * 3.登錄成功 */ public class Login { // 保存登錄失敗的次數(shù) static int num = 0 ; // 登錄方法 // 靜態(tài)方法里面 需要使用靜態(tài)的成員變量 public static boolean userLogin() { // 先判斷是否注冊 if (User.isRegister == false ) { System.out.println( "請先注冊" ); 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); // 返回登錄結果 return true ; } else { // 登錄失敗 num++; // 提示用戶還剩幾次機會 System.out.println( "用戶名或密碼有誤,請重新輸入!" + "還剩" + ( 3 - num) + "次" ); // 判斷登錄錯了幾次 if (num != 3 ) { // 繼續(xù)登錄 userLogin(); } else { // 登錄失敗 System.out.println( "對不起三次機會用完,請明日再來!" ); // 重置記錄登錄次數(shù)的變量 num = 0 ; } // 如果代碼走到這里 一定是登錄失敗 return false ; } } } |
抽獎類
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
70
71
72
73
74
75
76
77
78
79
80
81
82
|
/* * 抽獎類 * 1.判斷是否登錄 * 2.輸入抽獎卡號 * 有三次輸入卡號的機會 * 3.判斷是否中獎 */ public class CJ { // 保存輸入卡號的次數(shù) static int cardNumber = 0 ; // 抽獎方法 public static void userCJ() { // 判斷登錄狀態(tài) if (!User.isLogin) { // 沒登錄 直接結束方法 System.out.println( "請先登錄" ); return ; } // 判斷是否輸入正確 if (!isCarNum()) { System.out.println( "你輸入的不正確" ); return ; } // 匹配賬號 // 保存是否中獎的變量 boolean isCJ = false ; // 隨機五個數(shù)并且拼接成字符串打印逗號隔開 String string = "本日幸運數(shù)字:" ; for ( int i = 0 ; i < 5 ; i++) { // 隨機 int num = ( int )(Math.random() * 1001 + 1000 ); // 拼接 if (i < 4 ) { string = string + num + "," ; } else { string = string + num; } // 查看是否中獎 if (num == User.cardNumber) { isCJ = true ; } } // 打印中獎號 System.out.println(string); // 判斷是否中獎 if (isCJ) { System.out.println( "中獎" ); } else { System.out.println( "沒中獎" ); } } // 輸入卡號方法 public static boolean isCarNum() { System.out.println( "請輸入卡號:" ); Scanner scanner = new Scanner(System.in); // 接收 String carNum = scanner.nextLine(); // 轉int int num = Integer.parseInt(carNum); // 進行比對 if (User.cardNumber == num) { // 匹配正確 System.out.println( "卡號輸入正確" ); return true ; } else { //匹配不正確 cardNumber++; System.out.println( "輸入還剩" + ( 3 - cardNumber) + "次" ); if (cardNumber != 3 ) { isCarNum(); } else { System.out.println( "3次機會用完" ); // 輸入卡號次數(shù)重置 cardNumber = 0 ; } return false ; } } } |
抽獎抽獎類(組裝抽獎邏輯)
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
|
/* * 抽獎開始類(組裝抽獎邏輯) * */ public class CJStart { // 抽獎開始 public void cjStart() { // 是否繼續(xù)主菜單 String isGoOn = "" ; // 循環(huán)主菜單 do { System.out.println( "*****歡迎進入抽獎系統(tǒng)*****" ); System.out.println( " 1.注冊" ); System.out.println( " 2.登錄" ); System.out.println( " 3.抽獎" ); System.out.println( "************************" ); Scanner scanner = new Scanner(System.in); // 接收菜單選項 String menuNum = scanner.nextLine(); // 判斷選項 chooseMenuNum(menuNum); // 接收是否繼續(xù) System.out.println( "是否繼續(xù)選擇? y/n" ); isGoOn = scanner.nextLine(); } while (isGoOn.equals( "y" )); } // 判斷菜單選項 public void chooseMenuNum(String menuNum) { switch (menuNum) { case "1" : System.out.println( "[藍歐抽獎系統(tǒng) > 注冊]" ); System.out.println( "請?zhí)顚憘€人注冊信息:" ); // 調用注冊方法 Register.userRegister(); break ; case "2" : System.out.println( "[藍歐抽獎系統(tǒng) > 登錄]" ); // 調用登錄方法 保存登錄狀態(tài) boolean userLogin = Login.userLogin(); User.isLogin = userLogin; break ; case "3" : System.out.println( "[藍歐抽獎系統(tǒng) > 抽獎]" ); // 調用抽獎方法 CJ.userCJ(); break ; default : System.out.println( "輸入錯誤,請重新選擇" ); break ; } } } |
測試類
1
2
3
4
5
6
7
8
9
10
|
/* * 測試類 */ public class CJTest { public static void main(String[] args) { CJStart cjStart = new CJStart(); cjStart.cjStart(); } } |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://blog.csdn.net/Dzy_water/article/details/79050303