首页 > 编程 > Java > 正文

JAVA中的枚举类型

2019-11-06 06:07:50
字体:
来源:转载
供稿:网友
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创建

枚举常量可以被用在任何可以使用常量的地方

一般的,我们用枚举类型来标识状态,如一上代码实例就是用来表示,摇骰子的状态。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表