java 练习题Word下载.docx

上传人:b****5 文档编号:16341668 上传时间:2022-11-23 格式:DOCX 页数:13 大小:26.96KB
下载 相关 举报
java 练习题Word下载.docx_第1页
第1页 / 共13页
java 练习题Word下载.docx_第2页
第2页 / 共13页
java 练习题Word下载.docx_第3页
第3页 / 共13页
java 练习题Word下载.docx_第4页
第4页 / 共13页
java 练习题Word下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

java 练习题Word下载.docx

《java 练习题Word下载.docx》由会员分享,可在线阅读,更多相关《java 练习题Word下载.docx(13页珍藏版)》请在冰豆网上搜索。

java 练习题Word下载.docx

publicStringreplace(Stringstr);

用来将当前字符串对象与给定的字符串str连接起来。

replace()

replace(charoldchar,charnewchar)把字符串oldchar替换成newchar.

Substring()

Substring(intbegin,intstop)获取从begin位置到stop位置的子串

toUpperCase()

将字符串中所有字符变为大写字母

toLowerCase()

将字符串中所有字符变为小写字母

2.写出StringBuffer类的特点,构造函数及其他成员函数。

StringBuffer类的特点:

是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象

它只能通过构造函数来建立。

StringBuffer的构造函数

StringBuffer()

系统为字符串分配16个字符大小的缓冲区

StringBuffer(intlen)

Len指明字符串缓冲区的长度

StringBuffer(Strings)

参数s是字符串的初始值,同时系统为字符串分配16个字符大小的缓冲区

StringBuffer类除了具有String类的函数外,新增的函数:

Capacity()

用来得到字符缓冲区的容量

append(stringstr)

在已有的字符末尾加上一个字符str

insert(intoffset,Stringstr)

在字符串offset处插入一个字符串str

setCharAt(intindex,charch)

用来设置指定索引index位置的字符值

3.写出java中数组的概念和定义,并说明java中数组类型与C++中的区别。

数组的概念:

数组是一种复合数据类型,也是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用统一的数组名和相应的下标来唯一地确定数组中的元素。

数组的定义:

一维数组的定义:

typeArrayName[];

二维数组:

typeArrayName[][].

与C++中的区别:

在Java中定义数组时并不为数组元素分配内存空间,定义之后经过初始化之后才能引用数组中的元素。

Java中还提供另外一种定义方式:

type[]ArrayName.

4.写出一维数组的定义格式和实例化方法。

定义格式:

typearrayName[]或是type[]arrayName.type(类型)可以是Java中任意的数据类型,包括复合数据类型。

实例化方法:

1、静态初始化:

typearrayName[]={elements1[,elements2.....]}

2、动态初始化:

(1)简单数据类型arrayName=newtype[arraySize];

例如:

intintArray[];

intArray=newint[5]

(2)复合数据类型首先为数组开辟每个元素的引用空间:

arrayName=newtype[arraySize]然后再为每个元素开辟内在空间:

arrayName[0]=newtype(paramList)...arrayName[arraySize-1]=newtype(paramList).

5.写出二维数组的定义格式和实例化方法。

typearrayName[][]或是type[][]arrayname

1、静态初始化例:

intintArray[][]={{1,2},{2,3}}

2、动态初始化

(1)直接为每一维分配内存空间例:

inta[][]=newint[2][3];

(2)从最高维开始,分别为每一维分配内存空间,格式如下:

arrayName=newtype[arrayLenth1][];

arrayName[0]=newtype[arrayLenth20]....

arrayName[arraylenth-1]=newtype[arrayenth2(n-1)]

实验:

第一题:

用数组实现一个char队列类(CharList),该类的构造函数传递一个int类型的参数,确定队列的大小。

成员方法包括put和get,队列为満时再put要提示“队列满,无法put”,队列为空时再get要提示“队列空,无法get”。

另写一个演示类(CharListDemo)测试该队列类,分别构造大小两个队列,大的容量为100个char, 小的容量为4个char。

用put操作将26个字母加入大队列,再用get操作取出并输出到屏幕;

 将ZYXWV五个字母加入到小队列,再从队列中取出并输出。

classCharList{

intarraySize,i=0;

//arraySize表示数组的大小,i表示数组下标

chararray[];

//定义一个一维数组当作队列

CharList(intsz)//构造函数动态为数组初始化

{

arraySize=sz;

array=newchar[arraySize];

}

booleanput(charelement)//把字符存入数组中

{

if(i>

=arraySize)

{

System.out.println("

队列满,无法put"

);

returnfalse;

}

array[i]=element;

i++;

returntrue;

booleanget(chararray[])//把字符输出在屏幕上

intcnt=0;

for(inti=0;

i<

arraySize;

i++)

if(array[i]=='

'

{

System.out.println("

队列空,无法get"

returnfalse;

}

System.out.print(array[i]);

cnt++;

if(cnt%10==0)

System.out.println();

}

publicclassCharListDemo{//测试类

publicstaticvoidmain(Stringargs[])

CharLista=newCharList(100);

//为大队列分配100个空间

for(inti=0;

26;

a.put((char)('

A'

+i));

//调用put()函数,把“ABCD...”等输入到数组中

a.get(a.array);

//调用get()函数,输出“ABCDEFG....”

charch[]={'

Z'

'

Y'

X'

W'

V'

};

CharListb=newCharList(4);

//为小队列分配空间4个

4;

b.put(ch[i]);

//把ch[]输入到数组array.

b.get(b.array);

//输出ch[].

运行结果:

ABCDEFGHIJ

KLMNOPQRST

UVWXYZ

ZYXW

第二题

(1)下列哪个可以正确创建一个int类型的二维数组?

C、D

A. 

 

inta[][]=newint[][];

B. 

inta[10][10]=newint[][];

C. 

inta[][]=newint[10][10];

D. 

int[][]a=newint[10][10];

E. 

int[]a[]=newint[10][10];

(2) 编译和运行下程序段,会有什么结果?

D

classArray{

publicstaticvoidmain(String[]args){

intlength=100;

int[]d=newint[length];

for(intindex=0;

index<

length;

index++)

System.out.println(d[index]);

}

A 代码不能编译,因为数组声明不正确;

B 代码不能编译,因为数组元素没有初始化;

C 在标准输出中显示数字0~99;

D 在标准输出中显示100个0;

第三题:

编写程序计算下列矩阵的乘积:

程序代码:

publicclassCh3_2{

inti,j,k;

inta[][]={{2,3,4},{7,8,9}};

intb[][]={{5,7,9,11},{6,8,19,14},{8,4,9,3}};

intc[][]=newint[2][4];

//用来表示a*b

intd[][]={{23,45},{78,22},{88,99},{43,66}};

inte[][]=newint[2][2];

//存放最终结果

for(i=0;

2;

for(j=0;

j<

j++)

{

for(k=0;

k<

3;

k++)

c[i][j]+=a[i][k]*b[k][j];

}

e[i][j]+=c[i][k]*d[k][j];

***resultMatrix***"

for(i=0;

for(j=0;

System.out.print(e[i][j]+"

"

System.out.println();

运算结果:

***resultMatrix***

1862819893

5052353813

第四题:

请从下面一段文字中,找出所有名称为“COM”的字符串并统计该字符串出现的次数,注意不要统计名称为“DCOM”的字符串。

“解决DCOM的问题主要是解决程序配置和部署的问题。

由于DCOM涉及到在多台计算机上运行的程序,所以潜在的问题比在单机上使用COM时要大。

其他可能需要解决的问题包括程序和网络协议之间的安全机制。

因为在默认情况下COM安全是打开的,所以只要试图访问COM对象的COM程序或客户程序启动COM对象,就会开始进行安全检查。

方法一,程序代码:

publicclassCh3_3{

publicstaticvoidmain(String[]args)

Stringstr1="

解决DCOM的问题主要是解决程序配置和部署的问题。

"

;

Stringstr2="

COM"

Stringstr3="

DCOM"

intcnt1=0,cnt2=0,i=0;

//cnt1表示查询到COM的个数,cnt2表示查询到DCOM的个数

while(i<

str1.length())

if(str1.indexOf(str2,i)!

=-1)

i=str1.indexOf(str2,i);

i=i+str2.length();

cnt1++;

else

break;

i=0;

if(str1.indexOf(str3,i)!

i=str1.indexOf(str3,i);

i=i+str3.length();

cnt2++;

System.out.println("

COM的个数为:

+(cnt1-cnt2));

//cnt1-cnt2表示不包括DCOM的COM的个数

5

方法二,程序代码:

importjava.util.regex.*;

publicclassch3_5{

解决DCOM的问题主要是解决程序配置和部署的问题。

Patternp1=Ppile(str2);

//编译成模式

Stringr1[]=p1.split(str1);

//以COM为标志分割

Patternp2=Ppile(str3);

Stringr2[]=p2.split(str1);

//以DCOM为标志分割

+(r1.length-r2.length));

//以COM为标志的分割段数与以DCOM为标志分割的段数之差就是COM出现的次数;

编译结果:

第五题:

请从下面一段文字中,找出所有名称为“COM”的字符串并将它替换为“DCOM”,注意名称本来为“DCOM”的字符串不要改变。

“解决DCOM的问题主要是解决程序配置和部署的问题。

importjava.lang.*;

publicclassCh3_5{

publicstaticvoidmain(String[]args)

Stringstr1="

Stringstr2="

Stringstr3="

Stringstr6="

DDCOM"

Stringstr4=str1.replaceAll(str2,str3);

//调用replace函数将所有的COM换成DCOM

Stringstr5=str4.replaceAll(str6,str3);

//调用replace函数将DDCOM换成DCOM

System.out.println(str5);

//输出替换之后的字符串

由于DCOM涉及到在多台计算机上运行的程序,所以潜在的问题比在单机上使用DCOM时要大。

因为在默认情况下DCOM安全是打开的,所以只要试图访问DCOM对象的DCOM程序或客户程序启动DCOM对象,就会开始进行安全检查。

第六题:

请在下面一段文字后面,追加一段文字;

然后再将所有的大写的英文字母变成小写形式,最后显示到屏幕上。

(要求使用StringBuffer类)

初始的一段文字:

由于DCOM涉及到在多台计算机上运行的程序,所以潜在的问题比在单机上使用COM时要大。

追加的一段文字:

“因为在默认情况下COM安全是打开的,所以只要试图访问COM对象的COM程序或客户程序启动COM对象,就会开始进行安全检查。

因为在默认情况下COM安全是打开的,所以只要试图访问COM对象的COM程序或客户程序启动COM对象,就会开始进行安全检查。

StringBuffers1=newStringBuffer(str1.toLowerCase());

//将转化为小写的字符串定义为StringBuffer类

StringBuffers2=newStringBuffer(str2.toLowerCase());

s1.append(s2);

//将s2加到s1的尾部

System.out.println(s1);

//输出字符串

解决dcom的问题主要是解决程序配置和部署的问题。

由于dcom涉及到在多台计算机上运行的程序,所以潜在的问题比在单机上使用com时要大。

因为在默认情况下com安全是打开的,所以只要试图访问com对象的com程序或客户程序启动com对象,就会开始进行安全检查。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1