枚举类型
问题描述:
package cn.com.liheng.test;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
week b=new week();
for (int i = 1; i > 0; i++) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入交通灯颜色!");
String sv=sc.nextLine().trim();
}
}
}为什么week b=new week();
week();这个方法总是报错类型不匹配了?
下面的是枚举类:
package cn.com.liheng.test;
public enum week {
红色,绿色,黄色,
}
答
package srcio;
import java.util.Scanner;
public class TestM {
/**
* @param args
*/
public static void main(String[] args) {
TestM tm=new TestM();
Color [] cl={Color.红色,Color.绿色,Color.黄色};
Scanner s=new Scanner(System.in);
System.out.println("请输入交通灯颜色:");
String clo=s.nextLine().trim();
String cll=tm.checkColor(cl, clo);
if(null!=tm.checkColor(cl, clo)){
if(cll.equals(clo)){
System.out.println("ppppp");
}
}else{
System.out.println("没有此颜色 请重新输入!");
}
}
public String checkColor(Color[] cl,String s){
for(int i=0;i<cl.length;i++){
if((cl[i].toString()).equals(s)){
// 枚举类型转化为String类型
return cl[i].toString();
}
}
return null;
}
}
答
枚举是不能new的,你要引用枚举可以这样调用
[code="java"]week b = week.绿色[/code]
答
枚举你可以理解为静态常量,他的作用是编译前做类似限定,可以直接使用的。
比如你:
public enum week {
红色,绿色,黄色
}
你要用就可以:week.红色 就行了