第1题:
阅读以下说明和Java代码,填补空缺。
[说明]
java.util库中提供了Vector模板类,可作为动态数组使用,并可容纳任意数据类型。
该类的部分方法说明如下所示:
方法名 含义
add(k) 向vector对象的尾部添加一个元素k
removeElementAt(i) 删除序号为i的元素(vector元素序号从0开始)
isEmpty( ) 判断vector对象是否含有元素
size( ) 返回vector对象中所包含的元素个数
[Java代码]
Import ________;
public class JavaMain {
static private final int ________ =6;
public static void main(String[]args) {
Vector theVector=new Vector< _______ >( );
//初始化theVector,将theVector的元素设置为0至5
for(int cEachItem=0; cEachItem<ARRAY_SIZE; cEachItem++)
theVector. add( ________ );
showVector(theVector); //依次输出theVector巾的元素
theVector. removeElementAt(3);
showVector(theVector);
}
public static void showVector(Vector theVector){
if(theVector. isEmpty( )){
System.out.printin("theVector is empty.");
return;
}
for(int loop=0; loop<theVector.size( ); loop++) {
System.out.print(theVector.get(loop));
System.out.print(",");
}
System.out.printin( );
}
}
该程序运行后的输出结果为:
0, 1, 2, 3, 4, 5
___________
第2题:
使用VC6打开考生文件夹下的工程test19_3,此工程包含一个源程序文件test19_3.cpp,其中定义了用于表示向量的类 vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整。
(1)补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。请在注释“//**1**”之后添加适当的语句。
(2)完成类vector的成员函数input(int x,int y)的定义,将int型的参数x和y分别赋值给数据成员a和b,请在注释“//**2**”之后添加适当的语句。
(3)完成类vector的友元函数friend double Multiply (vector &x,vector &y)的定义,先定义double型的临时变量c,然后将参数对象x和对象y的数据成员a与b分别相乘再相加后赋值给c,最后返回c的值,将请在注释“//**3**”之后添加适当的语句。输出结果如下:
(10,20)
(2, 3)
80
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件test19_3.cpp清单如下:
include <iostream.h>
class vector
{
int a;
int b;
public:
//**1**
void input(int x, int y)
{
//**2**
}
void output ()
{
cout<<'('<<a<<','<<b<<")"<<end1;
}
friend double Multiply(vector &x,vector &y);
}
double Multiply (vector &x,vector &y)
{
//**3**
c=x.a*y.a+x.b*y.b;
return c;
}
void main()
{
vector x(10,20),y;
double d;
y.input (2,3);
d=Multiply (x,y);
x. output ( );
y. output ( );
cout<<d<<end1;
}
第3题:
●试题八
阅读以下说明和C++代码,将解答写入答题纸的对应栏内。
【说明】
源程序文件vectorClass.cpp,其中定义了用于表示向量的类vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整,并给出输出结果。
1.补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。
2.完成类vector的成员函数input(int x,int y)的定义,将int型的参数x和y分别赋值给数据成员b和a。
3.完成类vector的友元函数friend double Multiply(vector &x,vector &y)的定义,先定义double型的临时变量c,然后将参数对象x和对象y的数据成员a与b分别相乘再相加后赋值给c,最后返回c的值。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件vectorClass.cpp清单如下:
#include <iostream.h>
class vector
{
int a;
int b;
public:
vector( (1) ): (2)
{
}
void input(int x,int y)
{ (3)
}
void output()
{
cout<<'('<<a<<','<<b<<")"<<endl;
}
friend double Multiply(vector &x,vector &y);
};
double Multiply(vector &x,vector &y)
{
double c;
(4)
return c;
}
void main()
{
vector x(10,20),y;
double d;
y.input(2,3);
d=Multiply(x,y);
cout<<d<<endl;
}
程序输出结果是: (5) 。
●试题八
【答案】 (1)int x=0,int y=0(2)a(x),b(y)(3)b=x; a=y(4)c=x.a*y.a+x.b*y.b(5)70
【解析】注意参数默认值的书写方法。分别对a,b赋值。注意赋值顺序,与构造函数的赋值不同。注意对象访问成员使用"."操作符。x.a=10;y.a=3;x.b=20;y.b=2,所以c=70。
第4题:
给出下列的程序段,哪个选项是不正确的? ( ) ①public void create(){ ②Vector my; ③my=new Vector(); ④}
A.第二行的声明不会为变量my分配内存空间
B.第二行语句创建一个Vector类对象
C.第三行语句创建一个Vector类对象
D.第三行语句为一个Vector类对象分配内存空间
第5题:
此题为判断题(对,错)。
第6题:
给出下面的代码段,下面的哪些陈述为真? ( ) public void create() { Vector myVect; myVect=new Vector(); } Ⅰ:第2行的声明不会为变量myVect分配内存空间。 Ⅱ:第2行的声明分配一个到Vector对象的引用的内存空间。 Ⅲ:第2行语句创建一个Vector类对象。 Ⅳ:第3行语句创建一个Vector类对象。
A.Ⅱ、Ⅲ、Ⅳ
B.Ⅱ、Ⅲ、Ⅳ
C.Ⅰ、Ⅲ
D.Ⅰ、Ⅳ
第7题:
请完成下列Java程序:建立一个String类型的数组,实现该数组的自然排序,并输出结果。该数组采用直接初始化,大小不限。(提示;使用Collations接口。)
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
程序运行结果如下:
fang
liu
ouyang
sun
wll
zhang
import java.util.*;
public class ex5_2{
public static void main(String[]args) {
Vector vName=new Vector();
String[]strName={"zhang","sun","wu","liu","fang","ouyang"};
for(int i=0;i<strName.length;i++){
________;
________;
}
for(int j=0;j<vName.size();i++){
System.out.println(vName.get(j));
}
}
}
第8题:
第9题:
此题为判断题(对,错)。
第10题:
给出下列的程序代码片段,下列的( )选项是不正确的。 ①public void create(){ ②Vector my; ⑧my=new Vector(); ④}
A.第二行的声明不会为变量my分配内存空间
B.第二行语句创建一个Vector类对象
C.第三行语句创建一个Vector类对象
D.第三行语句为一个Vector类对象分配内存空间