猿问

如何将我的枚举代码转换为开关

在我的CustomerTypeApp课堂上,我需要更改getDiscountPercent方法以使用 switch 而不是 if 语句链。这是 if 语句版本:


public static double getDiscountPercent(CustomerType ct) {

        double discountPercent = 0;

        if (ct == CustomerType.RETAIL) {

            discountPercent = 0.156;

        } else if (ct == CustomerType.TRADE) {

            discountPercent = 0.30;

        } else if (ct == CustomerType.COLLEGE) {

            discountPercent = 0.20;

        }

        return discountPercent;

    }

}

以下是我尝试过的 switch 语句,但收到了错误:


枚举 switch case 标签必须是枚举常量的非限定名称


  double discountPercent = 0;


  switch(ct) {

      case CustomerType.RETAIL :

        discountPercent = 0.156;

        break;

     case CustomerType.TRADE :

        discountPercent = 0.30;

        break;

     case CustomerType.COLLEGE :

        discountPercent = 0.20;

        break;

     default :

        discountPercent = 0;

  }

  return discountPercent;


智慧大石
浏览 75回答 2
2回答

侃侃无极

您想切换变量 ctswitch(ct) {        case CustomeType.retail:            /*Command*/            break;        case CustomerType.TRADE:            /*Command*/            break;        default:            /*else*/}

芜湖不芜

试试这个:(很简单)public static double getDiscountPercent(CustomerType ct) {      double discountPercent = 0;      switch(ct) {         case CustomerType.RETAIL :            discountPercent = 0.156;            break;         case CustomerType.TRADE :            discountPercent = 0.30;            break;         case CustomerType.COLLEGE :            discountPercent = 0.20;            break;         default :            discountPercent = 0;      }      return discountPercent;   }
随时随地看视频慕课网APP

相关分类

Java
我要回答