黑马程序员技术交流社区
标题:
求教枚举这个问题
[打印本页]
作者:
再见亦是泪
时间:
2013-2-24 17:37
标题:
求教枚举这个问题
我要列出星期几的下一天 用枚举实理 部分代码如下package cn.itcast.day1;
public abstract class WeekDay {
private WeekDay(){}
public final static WeekDay Sun=new WeekDay(){
@Override
public WeekDay NextDay() {
return Mon;
}
};
public final static WeekDay Mon=new WeekDay(){
@Override
public WeekDay NextDay() {
return Tus;
}
};
public final static WeekDay Tus=new WeekDay(){
@Override
public WeekDay NextDay() {
return Wen;
}
};
public final static WeekDay Wen=new WeekDay(){
@Override
public WeekDay NextDay() {
return Thu;
}
};
public final static WeekDay Thu=new WeekDay(){
@Override
public WeekDay NextDay() {
return Fri;
}
};
public final static WeekDay Fri=new WeekDay(){
@Override
public WeekDay NextDay() {
return Sta;
}
};
public final static WeekDay Sta=new WeekDay(){
@Override
public WeekDay NextDay() {
return Sun;
}
};
public abstract WeekDay NextDay();
public String toString(){
return this==Mon?"Sun":"Sta";
}
}
请问toString里的方法应当怎么写
package cn.itcast.day1;
public class EnumDemo {
/**
* @param args
*/
public static void main(String[] args) {
WeekDay weekDay=WeekDay.Mon;
System.out.println(weekDay.NextDay());
}
}
请知道的大侠们告知下,小弟万分感谢
作者:
谢波
时间:
2013-2-24 17:54
要不你给WeekDay加个name属性,
弄个带参数的构造函数,new对象的时候传入相应的name
toString里就可以写return name;
作者:
贾振凯
时间:
2013-2-24 17:56
本帖最后由 贾振凯 于 2013-2-24 17:58 编辑
用switch语句吧
switch(this){
case Mon: return "Tus";
...............
case Sun: return "Mon";
}
作者:
王钊
时间:
2013-2-24 18:30
本帖最后由 王钊 于 2013-2-24 18:34 编辑
这样写:
public String toString()
{
String str=null;
switch(this)
{
case MON:
str="星期一"
break;
case TUS:
str="星期二"
break;
case WED:
str="星期三"
break;
case THU:
str="星期四"
break;
case FRI:
str="星期五"
break;
case SAT‘:
str="星期六"
break;
case SUN:
str="星期天"
break;
}
return str;
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2