import java.security.SecureRandom;//這時一個搖骰子游戲public class Craps { // 創建一個安全的產生隨機數的random對象 PRivate static final SecureRandom secureRandoms = new SecureRandom(); // 定義一個枚舉類型類表示輸贏的狀態 private enum Status { CONTINUE, WON, LOST }; // 常量表示兩次骰子搖到的結果判定輸贏 private static final int SNAKE_EYES = 2; private static final int TREY = 3; private static final int SEVEN = 7; private static final int ELEVEN = 11; private static final int BOX_CARS = 12; public static void main(String[] args) { int myPoint = 0;// 本地變量存儲第一次搖骰子得到的結果 Status gameStatus; int sumOfDice = rollDice(); switch (sumOfDice) { case SEVEN: case ELEVEN: gameStatus = Status.WON;// 第一次搖出2數之和為7或11就贏了 break; case SNAKE_EYES: case TREY: case BOX_CARS: //搖出 2|3輸了 gameStatus = Status.LOST; break; default: gameStatus = Status.CONTINUE; myPoint = sumOfDice; System.out.println("我的點數:" + myPoint); break; } while (gameStatus == Status.CONTINUE) { sumOfDice = rollDice(); if (sumOfDice == myPoint) gameStatus = Status.WON; //如果和上次一樣就贏了 else if (sumOfDice == SEVEN) { gameStatus = Status.LOST; } } if (gameStatus == Status.WON) { System.out.println("U Win"); } else System.out.println("U lose"); } private static int rollDice() { int die1 = secureRandoms.nextInt(6); int die2 = secureRandoms.nextInt(6); int sum = die1 + die2; System.out.printf("你搖出了%d和%d 得:%d", die1, die2, sum); System.out.println(); return sum; }}先自己理解代碼,這是一個風靡于大街小巷和賭場的搖骰子游戲。閱讀代碼來加深對每句類型的理解。
本地變量gameStatus聲明為前面定義的枚舉類型,枚舉類型是craps類的一個成員,因為只在這個類用到。
Status被稱為枚舉類型,里面定義用逗號分割開的叫做枚舉常量。
枚舉常量是隱式的final類型
枚舉常量是飲食的static類型
枚舉類型不能夠通過new創建
枚舉常量可以被用在任何可以使用常量的地方
一般的,我們用枚舉類型來標識狀態,如一上代碼實例就是用來表示,搖骰子的狀態。
新聞熱點
疑難解答