niusouti.com

请阅读以下技术说明、类图及Java代码,根据要求将(1)~(5)空缺处的内容填写完整。[说明]已知对某载客车辆(Car)进行类建模,如图4-20所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。

题目

请阅读以下技术说明、类图及Java代码,根据要求将(1)~(5)空缺处的内容填写完整。

[说明]

已知对某载客车辆(Car)进行类建模,如图4-20所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。


相似考题

3.阅读下列说明、图和Java代码,填补空缺。[说明]已知对某载客车辆(Car)进行类建模,如图13-2所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。[Java代码]class Body{ //此处代码省略 }; //车身类class Passenger{ //此处代码省略 }; //乘客类class Wheel{ //此处代码省略 }; //车轮类class Driver{ //司机类public String name; //表示第几路公交车司机public Driver(String driverName){name=driverName; }//构造函数};class Engine{ //引擎类public String engineNo; //引擎编号public Engine(String engineNo){this.engineNo=engineNo; }//构造函数};public class Car{ //汽车类static final int (1) =7; //定义最多载客数static final int MAX_WHEELS=5; //定义最多轮胎数protected Engine engine;protected Driver driver;protected Body body=new Body( );protected Wheel[]wheels;protected Passenger[]passengers;public Car(Driver driver){ //构造函数(2) .driver=driver;engine=new Engine("TX6536型号引擎");wheels = new Wheel[MAX_WHEELS];passengers=new Passenger[MAX_PASSENGERS];for(int index=0; index<MAX_WHEELS; index++){wheels[index]=new Wheel( );}for(int index=0; index<MAX_PASSENGERS; index++){passengers[index]=null;}}int getPassengerNumber( ){ //获取车上乘客数量//此处代码省略}void getOnPassenger(Passenger aPassenger ){//乘客上车//此处代码省略}void run( ){ //开车if( (3) )(System.out.printin("司机尚未上车!"); return; }//此处代码省略}public static void main(String args[]){Driver driver=new Driver("第五路公交车司机");Car car=new Car( (4) );for(int index=0; index <MAX_PASSENGERS; index++)car.getOnPassenger( (5) Passenger( ));car.run( );}}

4.阅读下列说明、图和Java代码,将应填入(n)处的字句写在对应栏内。【说明】已知对某载客车辆(Car)进行类建模,如图7-1所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。【Java代码】class Body{ //此处代码省略 ); //车身类class Passenger{ //此处代码省略 )/ //乘客类class Wheel{ //此处代码省略 ); //车轮类class Driver{ //司机类public String name; //表示第几路公交车司机public Driver(String driverName){name = driverName/) //构造函数};class Engine{//引擎类public String engineNo;//引擎编号public Engine(String engineNo){this.engineNo=engineNo;)//构造函数};public class Car{//汽车类static final int(1)=7; //定义最多载客数static final int MAX WHEELS =5; //定义最多轮胎数protected Engine engine;protected Driver driver;protected Body body=new Body();protected Wheel[] wheels;protected Passenger[]passengers;public Car(Driver driver){ //构造函数(2).driver=driver;engine=new Engine("TX6536型号引擎");wheels=new Wheel[MAX WHEELS];passengers=new Passenger[MAX_PASSENGERS];for(int index=0;index<MAX_WHEELS;index++){wheels[index]=new Wheel();}for(int index=0;index<MAX_PASSENGERS;index++){passengers[index]=null;}}int getPassengerNumber(){//获取车上乘客数量//此处代码省略}void getOnPassenger(Passenger aPassenger){//乘客上车//此处代码省略}void run(){ //开车if((3)){System.out.println("司机尚未上车!");return;}//此处代码省略}public static void main(String args[]){Driver driver=new Driver("第五路公交车司机");Car car=new Car((4));for (int index = 0 ; index < MAX_PASSENGERS; index ++)car.getOnPassenger((5) Passenger());car.run();}}

更多“ 请阅读以下技术说明、类图及Java代码,根据要求将(1)~(5)空缺处的内容填写完整。[说明]已知对某载客车辆(Car)进行类建模,如图4-20所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Bo”相关问题
  • 第1题:

    阅读下列说明、图和C++代码,填补空缺。

    [说明]

    已知对某载客车辆(Car)进行类建模,如图12-2所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。

    const int __________ =7; //定义最多载客数

    const int MAX_WHEELS=5; //定义最多轮胎数

    class Body{ //此处代码省略 ); //车身类

    class Passenger{ //此处代码省略}; //乘客类

    Class Wheel{ //此处代码省略}; //车轮类

    Class Driver{ //司机类

    public:

    string name; //表示第几路公交车司机

    Driver(string driverName):marne( __________ ){}; //构造函数

    };

    class Engine{ //引擎类

    public:

    string engineNo; //引擎编号

    Engine(string engineNo){ __________ ->engineNo=engineNo; }

    //构造函数

    };

    Class Car{ //汽车类

    protected:

    Engine *engine; Driver *driver; Body body;

    Wheel *wheels[MAX_WHEELS]; Passenger *passengers[MAX_PASSENGERS];

    public:

    Car(Driver *driver)( //构造函数

    this->driver=driver;

    engine=new Engine("TX653 6型号引擎");

    for(int index=0; index<MAX_WHEELS; index++){

    wheels[index]=new Wheel( );

    }

    for(int index=0; index passengers[index]=NULL;

    }

    }

    virtual -Car( ){ //析构函数

    for (int index=0; index<MAX_WHEELS; index++)

    delete wheels[index];

    delete __________ ;

    }

    int getPassengerNumber( ){ //获取车上乘客数量

    //此处代码省略

    }

    void getonpassenger(Passenger *apassenger ){

    //乘客上车

    //此处代码省略

    }

    void run( ){ //开车

    if(driver==NULL){cout<< "司机尚未上车!"; return; }

    //此处代码省略

    }

    };

    void main( ){

    Driver driver("第五路公交车司机");

    Car car( __________ );

    Passenger passengers[MAX_PASSENGERS];

    for(int index=0; index<MAX_PASSENGERS; index++)

    //乘客上车处理

    car. getOnPasSenger(&passengers[index]);

    car. run( );

    }


    正确答案:MAX_PASSENGERS driverName this engine &driver
    MAX_PASSENGERS driverName this engine &driver 解析:根据类图描述,分析可得:一辆汽车可以载0~7名乘客,一辆汽车可以被一个或者多个司机驾驶,并且一辆汽车有4~5个轮胎,一个引擎和一个车框架。程序代码中空(1)处表示一辆汽车最多载客数目,从后面的程序代码分析可得,应该填写MAX_PASSENGERS。空(2)处用于构造一个司机对象,需要司机名称driverName作为参数。空(3)处主要设置车的假设司机,由于参数的名称与成员变量的名称相同,因此需要加上this以示区别。空(4)处所对应代码段是汽车car的析构函数,与car的构造函数相对应,需要将构造函数中创建的引擎和车轮删除,所以空(4)处应为删除引擎。空(5)处用于产生一个汽车对象,所以,需要给汽车对象传递合适的参数,构造方法中需要传递一个司机对象,因此应该将driver对象传递到汽车对象中。

  • 第2题:

    试题五(共 15 分)

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

    [说明]

    已知对某载客车辆(Car)进行类建模,如图 5-1所示,其中类 Engine 表示发动机引擎,类 Wheel 表示车轮,类 Body 表示车身,类 Driver 表示司机,类 Passenger 表示乘客。

    [C++代码]

    const int (1) = 7; //定义最多载客数

    const int MAX_WHEELS = 5; //定义最多轮胎数

    class Body{ //此处代码省略 }; //车身类

    class Passenger{ //此处代码省略 }; //乘客类

    class Wheel{ //此处代码省略 }; //车轮类

    class Driver{ //司机类

    public:

    string name; //表示第几路公交车司机

    Driver(string driverName):name( (2) ){}; //构造函数

    };

    class Engine{ //引擎类

    public:

    string engineNo; //引擎编号

    Engine(string engineNo){ (3) ->engineNo = engineNo; } //构造函数

    };

    class Car{ //汽车类

    protected:

    Engine * engine; Driver * driver; Body body;

    Wheel * wheels[MAX_WHEELS]; Passenger * passengers[MAX_PASSENGERS];

    public:

    Car(Driver *driver){ //构造函数

    this->driver = driver;

    engine = new Engine("TX6536 型号引擎");

    for (int index = 0; index < MAX_WHEELS; index++){

    wheels[index] = new Wheel();

    }

    for (int index = 0; index < MAX_PASSENGERS; index++){

    passengers[index] = NULL;

    }

    }

    virtual ~Car(){ //析构函数

    for (int index=0; index < MAX_WHEELS; index++)

    delete wheels[index];

    delete (4) ;

    }

    int getPassengerNumber(){ //获取车上乘客数量

    //此处代码省略

    }

    void getOnPassenger(Passenger * aPassenger ){ //乘客上车

    //此处代码省略

    }

    void run(){ //开车

    if(driver == NULL){ cout << "司机尚未上车!"; return; }

    //此处代码省略

    }

    };

    void main(){

    Driver driver("第五路公交车司机");

    Car car( (5) );

    Passenger passengers[MAX_PASSENGERS];

    for (int index = 0 ; index < MAX_PASSENGERS; index ++) //乘客上车处理

    car.getOnPassenger(&passengers[index]);

    car.run();

    }


    正确答案:


  • 第3题:

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

    【说明】

    已知对某载客车辆(Car)进行类建模,如图5-1所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。

    【C++代码】

    const int(1)=7; //定义最多载客数

    const int MAX WHEELS=5; //定义最多轮胎数

    class Body{ //此处代码省略 }; //车身类

    class Passenger{ //此处代码省略 }; //乘客类

    class Wheel{ //此处代码省略 }; //车轮类

    class Driver{ //司机类

    public:

    string name;//表示第几路公交车司机

    Driver(string driverName):name((2)){}///构造函数

    };

    class Engine{//引擎类

    public:

    string engineNo;//引擎编号

    Engine(string engineNo){(3)->engineNo=engineNo;}//构造函数

    };

    class Car{//汽车类

    protected:

    Engine * engine; Driver * driver; Body body;

    Wheel * wheels [MAX_WHEELS];Passenger * passengers [MAX_PASSENGERS];

    public:

    Car(Driver *driver){ //构造函数

    this->driver=driver;

    engine=new Engine("TX6536型号引擎");

    for (int index=0; index<MAX WHEELS;index++){

    wheels[index]=new Wheel();

    }

    for(int index=0;index<MAX_PASSENGERS;index++){

    passengers[index]=NULL;

    }

    }

    virtual ~Car(){//析构函数

    for( int index=0;index<MAX_WHEELS;index++)

    delete wheels[index];

    delete(4);

    }

    int getPassengerNumber(){//获取车上乘客数量

    //此处代码省略

    }

    void getOnPassenger(Passenger * aPassenger){//乘客上车

    //此处代码省略

    }

    void run(){ //开车

    if(driver==NULL){cout<<"司机尚未上车!"; return; }

    //此处代码省略

    }

    };

    void main(){

    Driver driver("第五路公交车司机");

    Car car((5));

    Passenger passengers[MAX_PASSENGERS];

    for(int index=0;index<MAX PASSENGERS;index ++) //乘客上车处理

    car.getOnPassenger(&passengers [index]);

    car.run();

    }


    正确答案:(1)MAX_PASSENGERS (2)driverName (3)this (4)engine (5)&driver
    (1)MAX_PASSENGERS (2)driverName (3)this (4)engine (5)&driver 解析:根据类图描述,分析可得:一辆汽车可以载0~7名乘客,一辆汽车可以被一个或者多个司机驾驶,并且一辆汽车有4~5个轮胎,一个引擎和一个车框架。程序代码中空(1)处表示一辆汽车最多载客数目,从后面的程序代码[分析]可得,应该填写 MAX PASSENGERS。空(2)处主要设置车的假设司机,由于参数的名称与成员变量的名称相同,因此需要加上this以示区别。空(3)处主要用于判断司机是否上车,因此,代码应该对汽车所维持的司机对象的引用是否为空进行判断。空(4)处用于产生一个汽车对象,所以,需要给汽车对象传递合适的参数,构造方法中需要传递一个司机对象,因此应该将driver对象传递到汽车对象中。空(5)处表示乘客上车,getOnPassenger要求传递的是乘客对象,因此空缺处应为构造乘客对象的代码。

  • 第4题:

    试题七(共 15 分)

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

    [说明]

    已知对某载客车辆(Car)进行类建模,如图 7-1所示,其中类 Engine 表示发动机引擎,类 Wheel 表示车轮,类 Body 表示车身,类 Driver 表示司机,类 Passenger 表示乘客。

    [Java 代码]

    class Body{ //此处代码省略 }; //车身类

    class Passenger{ //此处代码省略 }; //乘客类

    class Wheel{ //此处代码省略 }; //车轮类

    class Driver{ //司机类

    public String name; //表示第几路公交车司机

    public Driver(String driverName){name = driverName;} //构造函数

    };

    class Engine{ //引擎类

    public String engineNo; //引擎编号

    public Engine(String engineNo){ this.engineNo = engineNo; } //构造函数

    };

    public class Car{ //汽车类

    static final int (1) = 7; //定义最多载客数

    static final int MAX_WHEELS = 5; //定义最多轮胎数

    protected Engine engine;

    protected Driver driver;

    protected Body body = new Body();

    protected Wheel[] wheels;

    protected Passenger[] passengers;

    public Car(Driver driver){ //构造函数

    (2) .driver = driver;

    engine = new Engine("TX6536 型号引擎");

    wheels = new Wheel[MAX_WHEELS];

    passengers = new Passenger[MAX_PASSENGERS];

    for (int index = 0; index < MAX_WHEELS; index++){

    wheels[index] = new Wheel();

    }

    for (int index = 0; index < MAX_PASSENGERS; index++){

    passengers[index] = null;

    }

    }

    int getPassengerNumber(){ //获取车上乘客数量

    //此处代码省略

    }

    void getOnPassenger(Passenger aPassenger ){ //乘客上车

    //此处代码省略

    }

    void run(){ //开车

    if( (3) ){ System.out.println("司机尚未上车!"); return;}

    //此处代码省略

    }

    public static void main(String args[]){

    Driver driver = new Driver("第五路公交车司机");

    Car car = new Car( (4) );

    for (int index = 0 ; index < MAX_PASSENGERS; index ++)

    car.getOnPassenger( (5) Passenger());

    car.run();

    }

    }


    正确答案:

  • 第5题:

    阅读以下关于某订单管理系统的技术说明、部分UML类图及C++代码,将C++程序中(1)~(5)空缺处的语句填写完整。

    [说明]

    某订单管理系统的部分UML类图如图5-15所示。

    图5-15中,Product表示产品,ProductList表示产品目录,Order表示产品订单,Orderltem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。

    请完善类Order的成员函数getOrderedAmount()和类SalesSystem的statistic()方法,各个类的属性及部分方法定义参见下面的C++代码。

    [C++代码]


    正确答案:这是一道要求读者掌握C++程序设计及STL使用的分析题。本题的解答思路如下。 仔细阅读[C++代码]可知类Order的数据成员orderid表示一份订单的识别号。结合图5-15订单管理系统的部分UML类图可知每个订单上可以有多个订单项因此数据成员items是一个类型为 OrderItem的向量(数据)。类Order的成员函数getOrderedAmount的功能是“在订单中查找识别码为tid的产品的订购数量若该产品没有被订购则返回0”。其定义如下: 对于每个订单项显然需要取出对应产品的识别号。从getOrderedAmount(string tid)定义代码中变量k用于遍历并索引一份订单中的每个订单项(items[k])。由于OrderItem类提供的成员函数getProductpt()可获取指向被订购产品的指针因此可通过(1)空缺处所填写的“items[k].getProductptr()->getProductId()”获取被订购产品的识别号。若指定的产品识别号等于该订单项的产品识别号就通过(2)空缺处所填写的“items[k].getQuantity()”返回该产品被订购的数量。 类SalesSystem的成员函数statistic()用于统计产品目录中每个产品的订购总量并打印输出每个产品的识别码、描述、订购总量和订购金额。若要统计产品目录中每个产品的订购总量需要对3个对象集合进行遍历:产品目录(ProductList)、订单列表(OrdeList)及Order(需要对订单中的所有订单项进行查询统计每个订单上所订购的产品的数量)。由此可以得出实现该方法的基本流程如下。 ①从产品目录中取出一个产品。对应语句“for(k=0;kcatalog.getProductAmount();k++)”用于遍历产品目录中的每件产品。由于存放产品目录(产品列表)的数据成员catalog的类型为ProductList要取得某产品的相关信息需要通过ProductList类提供的成员函数getProductByIndex(int I)获得产品目录中的第 i件产品因此(3)空缺处所填写的内容是“catalog.getProductByIndex(k)”。 ②查询给定产品在每份订单中的订购情况。对应的语句“for(it=sales.Begin(); (4) ;it++”用于遍历所有的订单根据产品识别码获得给定产品在当前订单中被订购的数量。对于给定产品和订单可调用订单类Order的成员函数getOrderedAmount(tid)获得识别码为tid的产品在当前订单中被订购的数量。因此(5)空缺处所填写的内容是“it->getOrderedAmount”。 由于类OrderList提供的方法Begin()、End()分别指向订单列表的第一个元素和最后一个元素之后而迭代器变量it实际是指向订单列表(向量sales)中某订单的指针因此(4)空缺处所填写的内容是“it!= sales.End()”或“itsales.End()”。
    这是一道要求读者掌握C++程序设计及STL使用的分析题。本题的解答思路如下。 仔细阅读[C++代码]可知,类Order的数据成员orderid表示一份订单的识别号。结合图5-15订单管理系统的部分UML类图可知,每个订单上可以有多个订单项,因此数据成员items是一个类型为 OrderItem的向量(数据)。类Order的成员函数getOrderedAmount的功能是“在订单中查找识别码为tid的产品的订购数量,若该产品没有被订购,则返回0”。其定义如下: 对于每个订单项,显然需要取出对应产品的识别号。从getOrderedAmount(string tid)定义代码中,变量k用于遍历并索引一份订单中的每个订单项(items[k])。由于OrderItem类提供的成员函数getProductpt()可获取指向被订购产品的指针,因此可通过(1)空缺处所填写的“items[k].getProductptr()->getProductId()”获取被订购产品的识别号。若指定的产品识别号等于该订单项的产品识别号,就通过(2)空缺处所填写的“items[k].getQuantity()”返回该产品被订购的数量。 类SalesSystem的成员函数statistic()用于统计产品目录中每个产品的订购总量,并打印输出每个产品的识别码、描述、订购总量和订购金额。若要统计产品目录中每个产品的订购总量,需要对3个对象集合进行遍历:产品目录(ProductList)、订单列表(OrdeList)及Order(需要对订单中的所有订单项进行查询,统计每个订单上所订购的产品的数量)。由此可以得出实现该方法的基本流程如下。 ①从产品目录中取出一个产品。对应语句“for(k=0;kcatalog.getProductAmount();k++)”用于遍历产品目录中的每件产品。由于存放产品目录(产品列表)的数据成员catalog的类型为ProductList,要取得某产品的相关信息,需要通过ProductList类提供的成员函数getProductByIndex(int I)获得产品目录中的第 i件产品,因此(3)空缺处所填写的内容是“catalog.getProductByIndex(k)”。 ②查询给定产品在每份订单中的订购情况。对应的语句“for(it=sales.Begin(); (4) ;it++”用于遍历所有的订单,根据产品识别码获得给定产品在当前订单中被订购的数量。对于给定产品和订单,可调用订单类Order的成员函数getOrderedAmount(tid)获得识别码为tid的产品在当前订单中被订购的数量。因此(5)空缺处所填写的内容是“it->getOrderedAmount”。 由于类OrderList提供的方法Begin()、End()分别指向订单列表的第一个元素和最后一个元素之后,而迭代器变量it实际是指向订单列表(向量sales)中某订单的指针,因此(4)空缺处所填写的内容是“it!= sales.End()”或“itsales.End()”。