第八章 獎富翁系統
阿新 • • 發佈:2019-02-05
package ch01; import java.util.Random; import java.util.Scanner; public class Test4 { /** * @param args */ public static void main(String[] args) { Scanner input = new Scanner(System.in);/// 輸入物件 String name = ""; // 使用者名稱 String pwd = ""; // 密碼 int cardNo = 0; // 卡號 boolean userState = false; // 使用者登入狀態 true 登入/ false 未登入 char chose = 0; // 用來接受使用者是否繼續 do { System.out.println("****歡迎進入獎富翁系統****"); System.out.println("\t\t1.註冊"); System.out.println("\t\t2.登入"); System.out.println("\t\t3.抽獎");// 抽獎的時候卡號是註冊的時候來的 System.out.println("\t\t4.登出"); System.out.println("*************************"); System.out.print("請選擇選單"); System.out.println(); int menu = input.nextInt();// 接收使用者選擇的選單 Random random = new Random();// Random 隨機類 random 是隨機類的一個物件 switch (menu) { case 1: System.out.println("[獎客富翁系統>註冊]"); System.out.println("請填寫個人資訊"); System.out.print("使用者名稱"); name = input.next(); System.out.print("密碼"); pwd = input.next(); System.out.println(); cardNo = random.nextInt(9000) + 1000;// r.next(max-min+1)+min; 隨機數範圍公式 System.out.println("註冊成功請牢記使用者名稱密碼"); System.out.println("是否繼續y/n"); chose = input.next().charAt(0); break; case 2: System.out.println("[獎客富翁系統>登入]"); for (int i = 0; i < 3; i++) { System.out.println("請輸入使用者名稱"); String inputName = input.next(); // 接受使用者名稱和密碼 System.out.println("請輸入密碼"); String inputPwd = input.next(); if (inputName.equals(name) && inputPwd.equals(pwd))//equals 比較兩個字串是否相等 { System.out.println("登入成功"); userState = true;//更改使用者登入狀態 break;// 如果登入成功跳出這個迴圈 } else { System.out.println("登入失敗"); } if (i == 2)// 0 1 2 { System.out.println("連續登入錯誤三次"); break; } } System.out.println("是否繼續y/n"); chose = input.next().charAt(0); break; case 3: System.out.println("[獎客富翁系統>抽獎]"); if (!userState)//從當前登入的使用者中取得資訊 { System.out.println("您還為登入"); System.out.println("是否繼續y/n"); chose = input.next().charAt(0); break; } int[] lucks = new int[5]; System.out.print("本日幸運數字是"); // 使用隨機數產生幸運數 for (int i = 0; i < lucks.length; i++) { lucks[i] = random.nextInt(9000) + 1000; System.out.print("\t" + lucks[i]); } System.out.println(); System.out.println("您 的卡號是" + cardNo); boolean b=false;// b=false; 使用者未中獎 b=true; 中獎了 for (int i = 0; i < lucks.length; i++) { if (lucks[i] == cardNo) { b=true;// 設定使用者中獎 break; } } // 判斷使用者是否中獎 if(b){ System.out.println("恭喜中獎了"); }else{ System.out.println("沒有中獎"); } System.out.println("是否繼續y/n"); chose = input.next().charAt(0); break; case 4: // 登出 name = ""; pwd = ""; cardNo = 0; userState = false; break; default: System.out.println("輸入有誤"); break; } } while (chose == 'y'); System.out.println("系統結束"); } }