定义一个交通灯枚举,包含红灯、绿灯、黄灯,需要有获得下一个灯的方法,例如:红灯获取下一个灯是绿灯,绿灯获取下一个灯是黄灯。

思路哦哦 2014-01-04 01:51:56
请问这段代码怎么在主函数中调用?

public enum enumerationLamp {

//定义绿灯,实现下一个灯是黄灯
GREED
{
public enumerationLamp next()
{
return YELLOW;
}
},
//定义黄灯,实现下一个等是红灯
YELLOW
{
public enumerationLamp next()
{
return RED;
}
},
//定义红灯实现下一个等是绿灯
RED
{
public enumerationLamp next()
{
return GREED;
}
};

//定义一个抽象方法,让枚举成员去实现
public abstract enumerationLamp next();

//重写toString可以实现名字的显示
public String toString()
{
String name=null;
switch(this)
{
case GREED : name ="绿灯"; break;
case RED : name ="红灯"; break;
case YELLOW : name ="黄灯"; break;
}
return name;
}
}
}
...全文
855 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
whos2002110 2014-01-07
  • 打赏
  • 举报
回复

public enum TrafficLight {
    RED {
        @Override
        public TrafficLight next() {
            return GREEN;
        }
    },GREEN {
        @Override
        public TrafficLight next() {
            return YELLOW;
        }
    },YELLOW {
        @Override
        public TrafficLight next() {
            return null;
        }
    };
    
    public abstract TrafficLight next();
}
卡卡吉利 2014-01-07
  • 打赏
  • 举报
回复
//绿灯 //下一个 enumerationLamp varname=enumerationLamp.GREED; System.out.println(varname.toString()); System.out.println(varname.next().toString());
pcmlose 2014-01-07
  • 打赏
  • 举报
回复
enumerationLamp varname=enumerationLamp.GREED; System.out.println(varname); System.out.println(varname.next());
  • 打赏
  • 举报
回复
不会像是对象一样使用构造函数来调用枚举类,因为这些对象是枚举作者已经创建出来了,我们只需要你爸来用就欧克了
思路哦哦 2014-01-04
  • 打赏
  • 举报
回复
请问该怎么调用这段代码?
fearlessMore 2014-01-04
  • 打赏
  • 举报
回复
引用 楼主 u013375454 的回复:
请问这段代码怎么在主函数中调用? public enum enumerationLamp { //定义绿灯,实现下一个灯是黄灯 GREED { public enumerationLamp next() { return YELLOW; } }, //定义黄灯,实现下一个等是红灯 YELLOW { public enumerationLamp next() { return RED; } }, //定义红灯实现下一个等是绿灯 RED { public enumerationLamp next() { return GREED; } }; //定义一个抽象方法,让枚举成员去实现 public abstract enumerationLamp next(); //重写toString可以实现名字的显示 public String toString() { String name=null; switch(this) { case GREED : name ="绿灯"; break; case RED : name ="红灯"; break; case YELLOW : name ="黄灯"; break; } return name; } } }
你要记住enum和类很相似就会了

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧