A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 再见亦是泪 中级黑马   /  2013-2-24 17:37  /  1513 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我要列出星期几的下一天 用枚举实理 部分代码如下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());
         }

}
请知道的大侠们告知下,小弟万分感谢

3 个回复

倒序浏览
要不你给WeekDay加个name属性,
弄个带参数的构造函数,new对象的时候传入相应的name
toString里就可以写return name;
回复 使用道具 举报
本帖最后由 贾振凯 于 2013-2-24 17:58 编辑

用switch语句吧
switch(this){
       case Mon: return "Tus";
       ...............     
       case Sun: return "Mon";
}
回复 使用道具 举报
本帖最后由 王钊 于 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;
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马