软件设计师案例分析当天每日一练试题地址:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4
往期软件设计师每日一练试题汇总:www.cnitpm.com/class/27/e4_1.html
软件设计师案例分析每日一练试题(2023/12/11)在线测试:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2023/12/11
点击查看:更多软件设计师习题与指导
软件设计师案例分析每日一练试题内容(2023/12/11)
试题五
阅读下列说明和Java代码,将应填入 (n)处的字写在答题纸的对应栏内
【说明】
在某系统中,类interval代表由下界(lower bound)和上界(upper bound)定义的区间。要求采用不同的格式显示区间范围。如[lower bound.upper bound]:[lower bound...upper bound];[lower bound-upper bound]等现采用策略(strategy)模式实现该要求,得到如图5-1所示的类图。

图5-1类图
[Java代码]
import Java.util
enum TYPE { COMMA, DOTS,LINE }
interface PrintStrategy {
Public(1);
}
class Interval {
private double lowerBound:
private double upperBound:
public Interval(double pLower, double pUpper){
lowerBound = pLower;
upperBound = pUpper:
}
public void printInterval(PrintStrategy ps){
(2);
}
public double getLower(){
return lowerBound;
}
public double getUpper(){
return upperBound;
}
}
class PrintIntervalLine implements PrintStrategy {
public void doPrint(Interval val){
Svstem.out.println("["+ val.getLower()+"-"+val.getUppei
0+"]");
}
}
class PrintIntervalDots implements PrintStrategy {
public void doPrint(Interval val){
System.out.println("["+ val.getLower()+".."+ val.getUppe
r()+"]");
}
}
class PrintIntervalComma implements PrintStrategy {
public void doPrint(Interval val){
System.out.println("["+val.getLower()+","+ val.getUpper
0+"]");
}
}
ublic class Client {
public static PrintStrategy getStrategy(TYPE type){
PrintStrategy st = null;
switch(type){
case COMMA:
(3)
break;
case DOTS:
(4);
break;
case LINE:
(5);
break;
}
return st;
}
public static void main(String[] args){
Interval interval = new Interval(1.7,2.1);
interval printInterval(getStrategy(TYPE.COMMA));
interval printInterval(getStrategy(TYPE.DOTS));
interval printInterval(getStrategy(TYPE.LINE));
}
}
信管网试题答案与解析:www.cnitpm.com/st/5710722070.html
信管网考友试题答案分享:
信管网试题答案与解析:
www.cnitpm.com/st/5710722070.html