当前位置:首页计算机类软件水平考试中级软件设计师->阅读下列说明和Java代码,将应填入(n)处字句写在答题纸对

阅读下列说明和Java代码,将应填入 (n) 处字句写在答题纸对应栏内。

【说明】

某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出各种促销活动,如打折、返利(例如,满300返100)等等。现采用策略(Strategy)模式实现该要求,得到如图6-1所示类图。

中级软件设计师,章节练习,基础复习,中级软件设计师练习

import javA.util.*;

enum TYPE {

NORMAL, CASH_DISCOUNT, CASH_RETURN};

interface

CashSuper {

public (1) ;

}

class CashNormal

implements CashSuper{ // 正常收费子类

public double accptCash(double money){

return money;

}

}

class

CashDiscount implements CashSuper {

private double moneyDiscount;

// 折扣率

public CashDiscount(double moneyDiscount) {

this moneyDiscount = moneyDiscount;

}

public double acceptCash(double money) {

return money* moneyDiscount;

}

}

class CashReturn

implements CashSuper { // 满额返利

private double moneyCondition;

private double moneyReturn;

public CashReturn(double moneyCondition, double moneyReturn) {

this.moneyCondition =moneyCondition; // 满额数额

this.moneyReturn =moneyReturn; // 返利数额

}

public double acceptCash(double money) {

double result = money;

if(money >= moneyCondition )

result=money-Math.floor(money/moneyCondition ) *

moneyReturn;

return result;

}

}

class

CashContext_{

private CashSuper cs;

private TYPE t;

public CashContext(TYPE t) {

switch(t){

case NORMAL: // 正常收费

(2) ;

break;

case CASH_DISCOUNT: // 满300返100

(3) ;

break;

case CASH_RETURN: // 打8折

(4) ;

break;

}

}

public double GetResult(double money) {

(5) ;

}

∥此处略去main( )函数

}

答案:
本题解析:

(1)double acceptCash(double money) (2)cs = new CashNormal()(3)cs = new CashDiscount(0.8)(4)cs = new CashReturn(300,100)(5)return cs.acceptCash(money)

更新时间:2022-07-29 04:32
纠错

你可能感兴趣的试题

单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S2)和P(S4)
  • B.P(S2)和V(S4)
  • C.P(S2)和P(S4)
  • D.V(S2)和V(S4)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S1)P(S2)和V(S3)
  • B.P(S1)V(S2)和V(S3)
  • C.V(S1)V(S2)和V(S3)
  • D.P(S1)P(S2)和V(S3)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S4)和V(S4)V(S5)
  • B.V(S5)和P(S4)P(S5)
  • C.V(S3)和V(S4)V(S5)
  • D.P(S3)和P(S4)V(P5)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S3)和V(S4)V(S5)
  • B.V(S3)和P(S4)P(S5)
  • C.P(S3)和P(S4)P(S5)
  • D.V(S3)和V(S4)V(S5)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S2)和P(S4)
  • B.P(S2)和V(S4)
  • C.V(S2)和P(S4)
  • D.V(S2)和V(S4)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S1)、P(S1)和V(S2)V(S3)
  • B.P(S1)、V (S1)和V(S2)V(S3)
  • C.V(S1)、V(S2)和P(S1)V(S3)
  • D.P(S1)、V(S2)和V(S1)V(S3)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.序列图
  • B.状态图
  • C.通信图
  • D.活动图
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.合并分叉
  • B.分支
  • C.合并汇合
  • D.流
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.产甲2套,乙3套
  • B.生产甲1套,乙4套
  • C.生产甲3套,乙4套
  • D.生产甲4套,乙2套
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.见图A
  • B.见图B
  • C.见图C
  • D.见图D
查看答案