//小轎車類
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();
}
}