jdk1.5 後 的新特性—枚舉

//小轎車類
public class Car {

	private String brand;//品牌
	private MyColor color = MyColor.BLACK;//顏色
	
	Car()
	{
	   System.out.println("一輛小轎車誕生了...");	
	}
	Car(String brand,MyColor color)
	{
		this.brand =brand;
		this.color = color;
	}
	public String toString()
	{
		return "品牌:"+this.brand+",顏色:"+this.color;
	}
}

//顏色的枚舉類型
public enum MyColor {

	//直接定義枚舉類型常來,一般都是大寫字母,常量之間使用逗號分隔
	RED("紅色"),GREEN("綠色"),BLUE("藍色"),WHITE("白色"),BLACK("黑色");
	private String name;//屬性
	
	MyColor()
	{
		System.out.println("誕生了一種顏色...");
	}
	MyColor(String name)
	{
		this.name = name;
	}
	
	public String getName()
	{
		return this.name;
	}
}

public class Test {

	private static Car c=new Car();
    private static Scanner in = new Scanner(System.in);
    
	//給車選顏色
	public static void choiceCarColor()
	{
		int choice;
		MyColor car_color;
		MyColor[] colors = MyColor.values();  //獲得枚舉的元素數組
		
		System.out.println("請選擇您喜歡的顏色:");
		int iCount=0;
		for(MyColor c :colors)
		{
			System.out.println((iCount++)+":"+c.getName());
		}
		System.out.println("請選擇:");
		
		choice = in.nextInt();
		car_color = colors[choice];
		
		switch(car_color)
		{
		    case RED:
		    	MyColor c = MyColor.RED; 
		    	System.out.println(c.ordinal()); //打印枚舉常量的編號
		    	System.out.println(c.getName());
		    	System.out.println("紅色表示熱情似火..");
		    	break;
		    case GREEN:
		    	System.out.println("綠色表示青春活力...");
		    	break;
		    case BLUE:
		    	System.out.println("藍色表示浪漫...");
		    	break;
		    case WHITE:
		    	System.out.println("白色表示純潔...");
		    	break;
		    case BLACK:
		    	System.out.println("黑色表示高貴...");
		    	break;
		}
	}
	
	public static void main(String[] args) {
		Test.choiceCarColor();
	}
}







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章