当使用setLength(int length)时,如果leng

题目

当使用setLength(int length)时,如果length的长度小于原字符串的长度,那么进行setLength操作后当前字符串的长度为length,且后面的字符被删除

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列代码的执行结果是( )。

int length="Hell0".length;

System.OUt.println(length);

A.5

B.2

C.10

D.6


正确答案:A

A。【解析】字符串"Hello"的长度是5,java在计算字符串长度时只计算实际字符串长度。

第2题:

Youarecreatingaservletthatgeneratesstockmarketgraphs.Youwanttoprovidethewebbrowserwithpreciseinformationabouttheamountofdatabeingsentintheresponsestream.WhichtwoHttpServletResponsemethodswillyouusetoprovidethisinformation?()

A.response.setLength(numberOfBytes);

B.response.setContentLength(numberOfBytes);

C.response.setHeader("Length",numberOfBytes);

D.response.setIntHeader("Length",numberOfBytes);

E.response.setHeader("Content-Length",numberOfBytes);

F.response.setIntHeader("Content-Length",numberOfBytes);


参考答案:B, F

第3题:

MAX_LENGTH是int型public成员变量,变量值保持为常量100,用简短语句定义这个变量()

A.publicintMAX_LENGTH=100;

B.finalintMAX_LENGTH=100;

C.finalpublicintMAX_LENGTH=100;

D.publicfinalintMAX_LENGTH=100.


参考答案:D

第4题:

执行下面代码后:

String strTemp =”abcdefg 某某某”;

Int i System.Text.Encoding.Default.GetBytes(strTemp).Length;

Int j = strTemp.Length;

问:i=(14 ) ;j=(11 )


正确答案:
i=(14 ) ;j=(11 ) 中文两个字节

第5题:

有以下程序:include using namespace std;class A{private: int x,y;public: void se

有以下程序: #include <iostream> using namespace std; class A { private: int x,y; public: void set (int i,int j) { x=i; y=j; } int get_y() { return y; } }; class box { private: int length,width; A label; public: void set(int 1,int w, int s,int p) { length=1; width=w; label.set(s,p); } int get_area() { return length*width; } }; int main() { box small; small.set(2,4,1,35); cout<<small.get_area()<<end1; return 0; } 运行后的输出结果是( )。

A.8

B.4

C.35

D.70


正确答案:A
解析:本题考核成员对象的应用。类box的成员函数set()为设置对象的坐标值和对象的长、宽值。成员函数setarea返回该对象的面积。程序最后输出为8。

第6题:

下面程序运行时输出结果为______。 include include class Rect { public: Rect(int

下面程序运行时输出结果为______。

include<iostream.h>

include

class Rect

{

public:

Rect(int l, int w){length=l; width=w;)

void Print(){cout<<"Area:"<<length*width<<end1;}

void operator delete(void*p){free(p);}

private:

int length, width;

};

void main()

{

Rect *p;

p=new Rect(5, 4);

p->Print();

delete p;

}


正确答案:Area:20
Area:20 解析:此题考查的是内存空间的分配和释放,即free和delete函数的应用。使用new对某种类型的变量进行动态分配的语法格式为:指针=new类型;使用delete对动态分配的变量进行释放是:delete指针。此题中,首先为变量分配内存单元,然后执行语句p->Print();输出Area:20,然后利用delete释放内存单元。

第7题:

int型public成员变量MAX LENGTH,该值保持为常数100,则定义这个变量的语句是( )。

A.publicintMAX_LENGTH=100

B.finalintMAX LENGTH=100

C.publicconstintMAX_LENGTH=100

D.publicfinalintMAX_LENGTH=100


正确答案:D
解析: 本题考查Java中变量的声明。选项A虽然按照题目要求定义了—个变量,但没有满足保持为常数的要求,该变量可以被改变。选项B没有满足题日要求的public成员变量;选项C与C语言混淆,const是C语言用来定义常值变量的关键字,Java中定义常值变量使用的是final属性,说明该值赋值以后永不改变,所以选项D为正确答案。

第8题:

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。

【说明】

字符串在程序设计中扮演着重要角色。现需要设计字符串基类string,包含设置字 符串、返回字符串长度及内容等功能。另有一个具有编辑功能的串类edlt_string,派生于string,在其中设置一个光标,使其能支持在光标处的插入、删除操作。

【程序】

include <iostream.h>

include <stdio.h>

include <string.h>

class string

{

int length;

char *data;

public:

int get_length() {return length;}

char *get_data() {return data;}

~string() {delete data;}

int set data(int in_length, char *in_data);

int set_data(char *data);

void print() {cout<<data<<endl;}

};

class edit_string: public string

{

int cursor;

public:

int get_cursor() {return cursor;}

void move_cursor(int dis) {cursor=dis;}

int add_data(string *new_data);

void delete_data(int num);

};

int string::set_data(int in_length,char *in_data)

{

length=in_length;

if(!data)

delete data;

(1)

strcpy(data,in_data);

return length;

}

int string::set data(char *in_data)

{

(2)

if(!data)

delete data;

(1)

strcpy(data,in_data);

return length;

}

int edit_string::add_data(string *new_data)

{

int n,k,m;

char *cp,*pt;

n=new_data->get_length();

pt=new_data->get_data();

cp=this->get_data();

m=this->get_length();

char *news=new char[n+m+1];

for(int i=0; i<cursor; i++)

news[i]=cp[i];

k=i;

for(int j=0; j<n; i++,j++)

news[i]=pt[j];

cursor=i;

for(j=k; j<m; j++,i++)

(3)

news[i]='\0';

(4)

delete news;

return cursor;

}

void edit string::delete_data( int num)

{

int m;

char *cp;

cp=this->get_data();

m=this->get_length();

for(int i=cursor; i<m; i++)

(5)

cp[i]='\0';

}


正确答案:(1)data=new char[length+1]; (2)length=strlen(in_data); (3)news[i]=cp[j]; (4)set_data(news); (5)cp[i]=cp[i+num];
(1)data=new char[length+1]; (2)length=strlen(in_data); (3)news[i]=cp[j]; (4)set_data(news); (5)cp[i]=cp[i+num]; 解析:本题考查C++中字符串的操作。
字符是程序设计中常用的一种数据类型,而字符串表示一串字符,在程序设计中扮演着重要角色,是考试中常出现的内容。题目要求设计一个基类能实现字符串设置、返回字符串长度及内容等功能,设计一个子类能支持在光标处的插入、删除操作。
下面我们来看代码。首先定义了一个string基类,在string基类中,声明了两个成员变量和几个成员函数。接着定义了一个继承string类的派生类edit_string。再下面是对类中成员函数的实现。
第(1)空在set_data()函数体中,int string::set_data()表明此函数是基类中的成员函数,根据基类要实现的功能,此函数要实现返回字符串长度和设置其内容,在函数体中其长度已经给出,但分配存储空间被delete data删除掉了,应该重新分配,在C++中一般用关键字new实现空间的动态分配。因此,第(1)空的答案是data=new char[length+1]。
第(2)空在另一个set_data()函数体中,这两个函数同名,但参数不同,这是C++
中用同名函数实现多态的技巧。此函数功能同上一个函数,但它的形参中没有指明字符串的长度,因此,在函数开始时要求出字符串的长度,用函数strlen()。所以,此空答案为length=strlen(in_data)。
第(3)空和第(4)空在函数add_data()中,此函数是派生类中的成员函数,根据题目要求它要实现的功能是在光标处进行插入。在此函数体中重新分配了一块内存空间,其长度是原有字符串长度和要插入字符串长度之和加1,用来存放这两个字符串。第(3)空所在的位置是循环体下面,根据循环体的判断条件im我们可以想到这是要对长度为m的字符串进行插入。因此,此空答案为news[i]=cp[j]。而第(4)空是在完成了插入工作以后,根据程序上下文推断,应该是计算字符长度并返回,因此,答案为 Set_data(news)。
第(5)空在函数delete_data()中,根据题目要求,此函数应该是实现子类在光标处进行删除的功能。删除一般采用覆盖技术,即将后面的字符往前移动来覆盖掉要删除的字符,第(5)空实现的就是这个功能,要删除num个字符,后面的字符应该往前移动 num,因此,此空答案为cp[i]=cp[i+num]。

第9题:

分析以下代码,完成填空

string strTmp = "abcdefg某某某";

int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;

int j= strTmp.Length;

以上代码执行完后,i= j=


正确答案:
 

第10题:

程序片断如下:

int i = 4;

int a[] = new int[5];

while(i>=0)

{

a[i] = i;

}

for(int j=0; j<=a.length; j++)

{

System.out.println(a[j]);

}

请问当该程序片断被运行时,是否会出现错误?如果没有,输出结果是什么?如果有错误,请指出错误并

改正。


正确答案:
  

更多相关问题