枚举类型的举例

练习:
   
         名字                           描述
     锦江区   面积 61平方千米,人口39万。邮政编码610011
  金牛区         面积 108平方千米,人口66万。邮政编码610036
  武侯区      面积 77平方千米,人口65万。邮政编码610041
  成华区      面积 109平方千米,人口59万。邮政编码610066


定义方法,可以传入指定区县,根据传入的区县,打印该区县的描述信息。

public static void printAreaInfo(Area area){//实现代码}

public class Test3 {
	public static void main(String[] args) {
		dome2();
	}
	private static void dome2() {
		printAreaInfo2(Area.jinjiang);
		printAreaInfo2(Area.chenghua);
		printAreaInfo2(null);
//		printAreaInfo2(Area.shuagnliu);//不能打印-编译器直接检查
//		printAreaInfo2(new Area("嘉陵"));//不能打印-编译器直接检查
	}
	private static void dome1() {
		printAreaInfo1("锦江区");
		printAreaInfo1("成华区");
		printAreaInfo1("双流区");//不能打印-编译器不能检查
		printAreaInfo1("嘉陵区");//不能打印-编译器不能检查
	}
	/**
	 * 传入枚举类的对象
	 * @param area
	 */
	public static void printAreaInfo2(Area area){
		if(area==null){
			throw new RuntimeException("传入值不能为null");
		}
		switch (area) {
		case jinjiang:
			System.out.println("面积 61平方千米,人口39万。邮政编码610011");
			break;
		case jinniu:
			System.out.println("面积 108平方千米,人口66万。邮政编码610036");
			break;
			
		case wuhou:
			System.out.println("面积 77平方千米,人口65万。邮政编码610041");
			break;
			
		case chenghua:
			System.out.println("面积 109平方千米,人口59万。邮政编码610066");
		}
	}
	/**
	 * 传入字符串
	 */
	public static void printAreaInfo1(String area){
		if("锦江区".equals(area)){
			System.out.println("面积 61平方千米,人口39万。邮政编码610011");
		}else
		if("金牛区".equals(area)){
			System.out.println("面积 108平方千米,人口66万。邮政编码610036");
		}else
		if("武侯区".equals(area)){
			System.out.println("面积 77平方千米,人口65万。邮政编码610041");
		}else
		if("成华区".equals(area)){
			System.out.println("面积 109平方千米,人口59万。邮政编码610066");
		}else{
			System.out.println("没有对应的区");
		}
			
	}
}
enum Area{
	jinjiang("锦江区"),jinniu("金牛区"),wuhou("武侯区"),chenghua("成华区");
	String name;//区的名字
	private Area(String name) {
		this.name = name;
	}
}




你可能感兴趣的:(javase基础)