问题 单项选择题

三令五申:孙武

A.以卵击石:孔子
B.欺世盗名:班固
C.鹿死谁手:曹操
D.退避三舍:重耳

答案

参考答案:D

解析: “三令五申”这个典故的主人公是孙武,“以卵击石”的主人公是墨子,“欺世盗名”这个典故的主人公是田仲,“鹿死谁手”的主人公是石勒,“退避三舍”的主人公是晋献公重耳。故选D。

填空题

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

[说明]

某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图6-1所示。

采用状态(State)模式来实现该纸巾售卖机,得到如图6-2所示的类图。其中类State为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState和HasQuarterState分别对应图6-1中纸巾售卖机的4种状态:售出纸巾、纸巾售完、没有投币、有2元钱。

[Java代码]

import java.util.*;

interface State

public void insertQuarter(); //投币

public void ejectQuarter(); //退币

public void turnCrank(); //按下“出纸巾”按钮

public void dispense(); //出纸巾

class TissueMachine

(1) soldOutStater noQuarterState, hasQuarterState, soldState,state;

state - soldOutState;

int count=0; //纸巾数

public TissueMachine (int numbers) /*实现代码省略*/

public State getHasQuarterState() return hasQuarterState;

public State getNoQuarterState() return noQuarterState;

public State getSoldState() return soldState;

public State getSoldOutState() return soldOutState;

public int getCount() return count;

//其余代码省略

class NoQuarterState implements State

TissueMachine tissueMachine;

public void insertQuarter()

tissueMachine. setState( (2) );

//构造方法以及其余代码省略

class HasQuarterState implements State

TissueMachine tissueMachine;

public void ejectQuarter()

tissueMachine.setState( (3) );

//构造方法以及其余代码省略

class SoldState implements State

TissueMachine tissueMachine;

public void dispense()

if(tissueMachine .getCount()>0)

tissueMachine.setState( (4) );

else

tissueMachine.setState( (5) );

(3)处应填()。

选择题