第4章 数组字符串向量和哈希表.docx
《第4章 数组字符串向量和哈希表.docx》由会员分享,可在线阅读,更多相关《第4章 数组字符串向量和哈希表.docx(39页珍藏版)》请在冰豆网上搜索。
![第4章 数组字符串向量和哈希表.docx](https://file1.bdocx.com/fileroot1/2022-12/16/fcd0c36f-1c4f-45c4-be8d-bac37d83d227/fcd0c36f-1c4f-45c4-be8d-bac37d83d2271.gif)
第4章数组字符串向量和哈希表
第四章数组、字符串、向量和哈希表
4.1×[判断正误*]对于数组int[][]t={{1,2,3),{4,5,6}}来说,t.length等于3,t[0].length等于2。
4.2[填空题*]数组对象的长度在数组对象创建之后,就不能改变。
数组元素的下标总是从0开始的。
4.3[填空题*]已知数组a的定义是“inta[]={1,2,3,4,5};”,则这时a[2]=3。
已知数组b的定义是“intb[]一newint[5];”,则这时b[2]=0。
已知数组c的定义是“Object[]c=newObject[5];”,则这时c[2]=null。
4.4[填空题**]下面程序的输出是12。
classJ_Test
{
publicstaticvoidmain(Stringargs[])
{
String[]s={”1”,”2”);
mb_swap(s[0],s[1]);
System.out.print(s[0]+s[l]);
}//方法main结束
staticvoidmb_swap(Strings0,Stringsl)
{
Stringt=s0;
s0=sl;
sl=t;
}//方法mb_swap结束
}//类J_Test结束
4.5[填空题*]在Java语言中,字符串直接量是用双引号(")括起来的字符序列。
字符串不是字符数组,而是类java.lang.String的实例对象
4.6[填空题*]运行下面程序,将输出331212。
{
publicstaticvoidmain(Stringargs[])
{
System.out.print(l+2);
System.out.print(l+2+””);
System.out.print(l+""+2);
System.out.println(’’’’+1+2);
}//方法main结束
}//类J_Test结束
4.7[填空题**]下面的程序片段被执行后,s2的值是12345678,s3的值是12345678,b的值是false。
Stringsl="1234";
Strings2=sl.concat("5678");
Strings3=sl+"5678";
booleanb=(s2==s3);
4.8[填空题**]下面程序运行的结果是123412345678null。
publicclassJ_Test
{
publicstaticStringm_s;
publicstaticvoidmain(Stringargs[])
{
Stringsl="1234";
Strings2=sl;
s2+="5678":
sl.concat("5678");
System.out.println(sl+s2+m_s);
}//方法main结柬
}//类JTest结束
4.9[填空题**]下面程序运行的结果是14。
publicclassJ_Test
{
publicstaticStringm_s;
publicstaticvoidmain(Stringargs[])
{
Strings0=””;//s0是只含有1个空格的字符串
Stringsl=s0+s0+"12"+s0+"34"+s0+s0;
Strings2=s0+s0十"56"+s0+"78"+s0+s0;
sl.concat(s2);
s2=s1.trim();
System.out.println(s1.length()+s2.length());
}//方法main结束
}//类J_Test结束
4.10【填空题*】下面程序运行的结果是abcdef。
publicclassJ_Test{
publicstaticvoidmaoin(Stringargs[]){
Strings1="abc";
Strings2="def";
S2.toUpperCase();
S1.concat(s2);
System.out.println(s1+s2);
}//方法main结束
}//类J_Test结束
4.11【填空题**】下面程序运行的结果是javajavaC。
publicclassJ_Test{
publicstaticvoidmb_method(Strings,StringBuffert){
s=s.replace(‘j’,'i');
t=t.append("C");
}//方法mb_method结束
publicstaticvoidmain(Stringargs[]){
Stringa=newString("java");
StringBufferb=newStringBuffer("java");
mb_method(a,b);
System.out.println(a+b);
}//方法main结束
}//类J_Test结束
4.12【填空题**】下面程序的输出是A,B。
publicclassJ_Test{
publicstaticvoidmb_method(Stringx,Stringy){
x.concat(y);
y=x;
}//方法mb_method结束
publicstaticvoidmain(Stringargs[]){
Stringa=newString("A");
Stringb=newString("B");
mb_method(a,b);
System.out.println(a+","+b);
}//方法main结束
}//类J_Test结束
4.13【填空题**】下面程序的输出是AB,B。
publicclassJ_Test{
publicclassvoidmb_method(StringBufferx,StringBuffery){
x.append(y);
y=x;
}//方法mb_method结束
publicstaticvoidmain(Stringargs[]){
StringBuffera=newStringBuffer("A");
StringBufferb=newStringBuffer("B");
mb_method(a,b);
System.out.println(a+"."+b);
}//方法mian结束
}//类J_Test结束
4.14【填空题**】下面程序的输出是123456。
publicclassJ_Test{
publicstaticvoidmb_method(Strings,StringBufferb){
Strings1=s.replace('1','9');
Strings2=s.replace('2','8');
b.append("56");
}//方法mb_method结束
publicstaticvoidmain(Stringargs[]){
Strings=newString("12");
StringBUfferb=newStringBuffer("34");
mb_method(s,b);
System.out.println(s+b);
}//方法main结束
}类J_Test结束
4.15【填空题*】类String本身负责维护一个字符串池。
该字符串池存放字符串常量所指向的字符串实例,以及调用过类String成员方法intern后的字符串
实例。
4.16【填空题*】按异常在编译时是否被检测来分,异常可以分成两大类:
受检异常(CheckedException)和非受检异常(UncheckedException)。
4.17【填空题*】请填写下面两处的空白使得下面的方法产生一个异常。
voidmb_method()throwsException{
thrownewException("Exceptioninmb_method()");
}//方法mb_method结束
4.18【填空题*】运行下面的程序,结果一般会输出14.
publicclassJ_Test{
publicstaticvoidmain(Stringargs[]){
Try{
System.out.println("1");
if(true)
Return;
}
Catch(RuntimeExceptione1)
{
System.out.println("3");
Return;
}
finally{
System.out.println("4");
}//try/catch/finally结构结束
System.out.println(“End”);
}//方法main结束
}类J_Test结束
4.19【填空题*】运行下面的程序,结果一般会输出1。
publicclassJ_Test{
publicstaticvoidmain(Stringargs[]){
try
{
System.out.print("1");
if(true)
System.out.print(0);
}
catch(RuntimeExceptione1)
{
System.out.print("2");
Return;
}
Catch(Exceptione2)
{
System.out.print("3");
Return;
}
finally
{
System.out.print("4")
}//try/catch/finally结构结束
System.out.println("End");
}//方法main结束
}//类J_Test结束
4.20【填空题**】运行下面的程序,结果一般会输出2:
0,3:
4,4:
4,5:
4。
publicclassJ_Test{
publicstaticvoidmain(Stringargs[]){
inti=0;
try
{
if(i%3==0)
thrownewException();
System.out.print("1:
"+i+".");
}
catch(Exceptione2)
{
System.out.print("2:
"+i+".");
i+=2;
if(i%3==2)
thrownewException();
Return;
}
finally
{
i*=2;
System.out.print("3:
"+i+".");
}//内部:
try/catch/finally结构结束
}//for循环结束
}
catch(Exceptione2){
System.out.print("4:
"+i+".");
Return;
}
finally
{
System.out.print("5:
"+i+".");
}//外部:
try/catch/finally结构结束
System.out.println("End");
}//方法main结束
}类J_Test结束
4.21【填空题**】当下面程序的输入是“1234”时;程序的输出是bcdn;
当下面程序的输入是“123”时,程序的输出是bcdn。
将下面程序的
第23~26行删去之后,则当下面程序的输入是“1234”时,程序的输出是cmn当下面程序的输入是“123”时,程序的输出是cmn。
01.classJ_Test
02.{
03.publicstaticvoidmain(Stringargs[])
04.{
05.try
06.{
07.mb_method1(args);
08.}
09.Catch(Exceptione)
10.{
11.System.out.print('m');
12.}
13..out.print('n');
14.}//方法main结束
15.
16.staticvoidmb_method1(Stringa[])
17.{
18.try
19.{
20.mb_method2(a);
21.System.out.print("a");
22.}
23.Catch(Exceptione)
24.{
25.System.out.print("b");
26.}
27.finally
28.{
29.System.out.print("c");
30.}
31.System.out.print("d");
32.}//方法mb_method1结束
33.
34.staticvoidmb_method2(Stringa[])
35.{
36.System.out.println(a[a.length]);
37.}//方法mb_method2结束
38.
39.}//类J_Test结束
4.22【填空题**】参照下面的类间的继承关系图,写出下面程序的输出cmn。
java.lang.Object
└java.lang.Throwable
└java.lang.Error
└java.lang.Exception
└java.io.IOException
└java.lang.RuntimeException
└java.lang.ArithmeticException
└java.lang.IndexOutOfBoundsException
└java.lang.ArrayIndexOutOfBoundsException
classJ_Test
{
publicstaticvoidmain(Stringargs[])
{
try
{
mb_method();
}
catch(Exceptione)
{
System.out.print(‘m’);
}
System.out.print(‘n’);
}//方法main结束
staticvoidmb_creatException()
{
thrownewArrayIndexOutOfBoundsException();
}//方法mb_creatException结束
staticvoidmb_method()
{
try
{
mb_createException();
System.out.print(“a”);
}
catch(ArithmeticExceptione)
{
System.out.print(“b”);
}
finally
{
System.out.print(“c”);
}
System.out.print(“d”);
}//方法mb_method结束
}类J_Test结束
4.23[填空题**]参照下面的类间的继承关系图,写出下面程序的输出bcdn.
java.lang.Object
java.lang.Throwable
java.lang.Error
java.lang.Exception
java.io.IOException
java.lang.RuntimeException
java.lang.ArithmeticException
java.lang.IndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
classJ_Test
{
publicstaticvoidmain(Stringargs[])
{
try
{
mb_method();
}
catch(Exceptione)
{
System.out.print(‘m’);
}
System.out.print(‘n’);
}//方法main结束
staticvoidmb_createException()
{
thrownewArrayIndexOutOfBoundsException();
}//方法mb_createException结束
staticvoidmb_method()
{
try
{
mb_createException();
System.out.print(“a”);
}
catch(Exceptione)
{
System.out.print(“b”);
}
finally
{
System.out.print(“c”);
}
System.out.print(“d”);
}//方法mb_method结束
}//类J_Test结束
72.\Java\程\序\设\计\习\题\集\(含参考答案)\
4.24[填空题**]下面程序输出13423.
publicclassJ_Test
{
publicstaticvoidmb_method(inti)
{
try
{
if(i==1)
thrownewException();
System.out.print(“1”);
}
catch(Exceptione)
{
System.out.print(“2”);
return;
}
finally’
{
System.out.print(“3”);
}
System.out.print(“4”);
}//方法mb_method结束
publicstaticvoidmain(Stringargs[])
{
mb_method(0);
mb_method
(1);
}//方法main结束
}//类J_Test结束
4.25[填空题**]下面程序输出134.
publicclassJ_Test
{
publicstaticvoidmb_method()
{
thrownewRuntimeException();
}//方法mb_method结束
publicstaticvoidmain(Stringargs[])
{
try
{
mb_method();
}
catch(RuntimeExceptione)
{
System.out.print(“1”);
}
catch(Exceptione1)
{
System.out.print(“2”);
}
finally
{
System.out.print(“3”);
}
System.out.print(“4”);
}//方法main结束
}//类J_Test结束
4.26[填空题**]运行下面的程序,并输入字符‘0’,请问运行结果34.
importjava.io.*;
classJ_ExceptionextendsException
{
}//类J_Exception结束
publicclassJ_Example
{
publicstaticvoidmain(Stringargs[])
{
try
{
inti=System.in.read();
if(i==’0’)
thrownewJ_Exception();
System.out.print(“1”);
}
catch(IOExceptione)
{
System.out.print(“2”);
}
catch(J_Exceptione)
{
System.out.print(“3”);
}
System.out.print(“4\n");
}//方法main结束
}//类J_Example结束
4.27[填空题*]下面程序输出1245。
publicclassJ_Example
{
publicstaticvoidmain(Stringargs[])
{
try
{
try
{
intl=1/0;
}
catch(Exceptione)
{
System.out.print("l");
}
finally
{
System.out.print(”2¨);
}
}
catch(Exceptione)
{
System.out.print("3¨);
}
finally
{
System,out.print("4");
}
System.out.print(”5\n¨);
}//方法main结束
}//类J_Example结束
4.28[填空题*]下面程序输出12345。
publicclassJ_Example
{
publicstaticvoidmain(Stringargs[])
{
try‘
{
try
{
intl=1/0;
}
catch(Exceptione)
{
Systera.out.print("1");
throwe;
}
finally
{
System.out.print(”2");
}
}
catch(Exceptione)
{
System.out.print("3");
}
finally
{
System.out.print(“4”);
}
System.out.print(“5\n”);
}//方法main结束
}//类J_Example结束
4.29[选择题*]下面哪些语句会发生编译错误?
C
(A)int[a];(B)int[]b=newint[10];
(C)intc[]=newint[];(D)intd[]=null;
4.30[选择题*]下面哪些语句会发生编译错误?
ABCD
(A)int[l0]a;(B)int[l0]b=newint[5];
(C)intc[10]=newin