JAVA 简单枚举类型——植物与颜色



简单枚举类型——植物与颜色

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

 请定义具有red, orange, yellow, green, blue, violet六种颜色的枚举类型color,根据输入的颜色名称,输出以下六种植物花朵的颜色:
Rose(red), Poppies(orange), Sunflower(yellow), Grass(green), Bluebells(blue), Violets(violet)。如果输入的颜色名称不在枚举类型color中,例如输入purple,请输出I don't know about the color purple.
 

Input

 输入数据有多行,每行有一个字符串代表颜色名称,颜色名称最多30个字符,直到文件结束为止。

Output

 输出对应颜色的植物名称,例如:Bluebells are blue. 如果输入的颜色名称不在枚举类型color中,例如purple, 请输出I don't know about the color purple.
 

Sample Input

blue
yellow
purple

Sample Output

Bluebells are blue.
Sunflower are yellow.
I don't know about the color purple.

Hint

 请用枚举类型实现。


import java.util.*;
enum Color{
	red("Rose", "red"),
	orange("Poppies", "orange"),
	yellow("Sunflower", "yellow"),
	green("Grass", "green"),
	blue("Bluebells", "blue"),
	violet("Violets", "violet");
	String name;
	String color;
	Color(String name, String color){
		this.name = name;
		this.color = color;
	}
	public String toString() {
		return name+" are "+color+".";
	}
}
public class Main {
	public static void main(String args[]) {
		Scanner cin = new Scanner(System.in);
		while(cin.hasNext()) {
			String ch = cin.next();//next读到空格或换行结束,nextLine读到换行结束
			try {
				Color color = Color.valueOf(ch);//返回枚举类型中与ch一致的变量
				System.out.println(color);
			}catch(Exception e) {
				System.out.println("I don't know about the color "+ch+".");
			}
		}
	}
}


阅读更多
个人分类: JAVA
上一篇JAVA 分数四则运算
下一篇JAVA 答答租车系统(面向对象综合练习)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭