




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. z.Java程序设计课后练习答案第一章 Java概述一、选择题 A 是在Dos命令提示符下编译Java程序的命令, B 是运行Java程序的命令。javacjavajavadocjavaw D 不是Java程序中有效的注释符号。/* */* */*/ */ B 不是Java语言的特点。面向对象自动检查语法错误跨平台解释执行Java编译器会将Java程序转换为 C 可执行代码目标代码字节码机器代码Java源文件的扩展名是 D .classB.jarC.javD.java二、简答题Java的跨平台的含义是什么?为什么Java可以跨平台?Java语言的一个非常重要的特点就是平台无关性。它是指用
2、Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。Java之所以能平台无关,主要是依靠Java虚拟机JVM来实现的。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、存放器组等。Java编程人员在编写完Java程序后,Java编译器将Java源代码文件编译后生成字节码文件一种与操作系统无关的二进制文件。字节码文件通过Java虚拟机JVM里的类加载器加载后,经过字节码校验,由解释器解释成当前电脑的操作系统能够识别的目标代码并最终运行。以以下图展示了Java程序从编译到最后运行的完整过程。简述Java语言的特点Java具有以下特点:简单性Jav
3、a语言的语法规则和C语言非常相似,只有很少一局部不同于C语言,并且Java还舍弃了C语言中复杂的数据类型如:指针和构造体,因此很容易入门和掌握。可靠性和平安性Java从源代码到最终运行经历了一次编译和一次解释,每次都有进展检查,比其它只进展一次编译检查的编程语言具有更高的可靠性和平安性。面向对象Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多态三大特点。平台无关和解释执行Java语言的一个非常重要的特点就是平台无关性。它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。Java之所以能平台无关,主要是依靠Java虚拟机JVM来实现的。J
4、ava编译器将Java源代码文件编译后生成字节码文件一种与操作系统无关的二进制文件。字节码文件通过Java虚拟机JVM里的类加载器加载后,经过字节码校验,由解释器解释成当前电脑的操作系统能够识别的目标代码并最终运行。以下图展示了Java程序从编译到最后运行的完整过程。分布式分布式包括数据分布和操作分布,而Java支持客户机/效劳器计算模式,因此也支持这两种分布式。多线程Java在两方面支持多线程。一方面,Java环境本身就是多线程的。假设干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;另一方面,Java语言内置多线程控制,可以大大简化多线程应用程序开发。如果操作系统本身不支持多线
5、程,Java的多线程特性可能就表现不出来。三、综合编程题请编写一个简单的Java程序能够输出“这是我的第一个Java程序。注意为程序添加适宜的注释和文档注释。/* * 第一个java程序 */public class Demo /* * main方法,程序的起点 */public static void main (String args) /向控制台输出ln (这是我的第一个Java程序); 第二章 Java语法根底一、选择题下面哪个单词是Java语言的关键字 B ?A. c2 c *. # f% W3 O9 $ 7 cDoubleB. thisC. stringD. bool下面属于Jav
6、a关键字的是 D 。A. NULLB. IFC. Do D. goto在启动Java应用程序时可以通过main( )方法一次性地传递多个参数。如果传递的参数有多个,可以用空格将这些参数分割;如果*一个参数本身包含空格,可以使用 B 把整个参数引起来。单引号 B. 双引号下面哪个是Java语言中正确的标识符 BD 。A. 5*B. $*C. abc D. Java语言中,以下标识符错误的选项是 D 。A. _* A, / A |% labcB. abcC. ABC D. 5abc在Java中,整型常量不可以是 A 。A. ! r; * z& V D0 T0 ) _doubleB. LongC.
7、int D. byte 在Java中,不属于整数常量的是 D 。A. : n h: R- C+ D100B. 100LC. 0*100A D. 6.0f 下面哪个语句能定义一个字符变量chr B 。A. char chr=abcd; B. char chr=uabcd; C. char chr=abcd; D. char chr=uabcd; 下面哪个是对字符串s1的不正确定义 CD 。A. String s1=abcd; B. String s1; C. 2 V2 *2 U0 F4 * *) String s1=abcd0; D. String s1=abcd;下面哪个*围是char型的取值
8、*围 C 。-256 255 B. - (215) (215)-1 C. u0000 uffff D. 032767下面哪条语句不能定义一个float型的变量f1 ABD 。A. - y c! B& Q$ ) m W- pfloat f1= 3.1415E10 B. float f1=3.14 C. float f1=3.1415F D. f1=3.14F以下运算结果为float的是 C 。 A. 100/10 B. 100*10 C. 100.0+10D. 100-10数组中可以包含什么类型的元素 D 。A. int型 B. string型 C. 数组 D. 以上都可以 Java中定义数组名
9、为*yz,下面哪项可以得到数组元素的个数 B 。A. *yz.length( ) B. *yz.length C. len(*yz) D. ubound(*yz) 下面哪条语句定义了3个元素的数组 A 。A. int a=20,30,40; B. int a =new int(3); C. int 3 array; D. int arr;二、简答题Java有哪些根本的数据类型?写出这些根本数据类型所占用的最大空间用字节描述。1数字型 (number),具体又分为:a.整型 (integers),整型又包括: = 1 * GB3 字节整数 (byte, 8 bits) = 2 * GB3 短整数
10、 (short, 16 bits) = 3 * GB3 整数 (int, 32 bits) = 4 * GB3 长整数 (long, 64 bits)b.实型 (real numbers),具体又分为: = 1 * GB3 单精度float, 32 bits = 2 * GB3 双精度double, 64 bits2字符型 (char, 16-bit Unicode字符)3布尔型 (boolean)。说明Java字符编码的类型与特点。Java字符编码的类型为Unicode,具有以下特点:1Unicode是16比特的字符编码,其支持当前世界上绝大多数的语言;2Unicode给每个字符提供了一个唯
11、一的编码表示,不管是什么平台、程序或语言;3Windows系统(Windows 2000版本)、Java、*ML、LDAP等已支持Unicode;4Unicode实现了ISO/IEC 10646标准;写出Java中六个常用的转义字符。b 退格t 制表符n 换行 (Newline) r 回车 (Carriage return) 单引号下面的几个标示符哪些是正确的,哪些是错误的,如果是错误的,请说明原因。MyClass, _isHis, 3JavaProgram, _$asdf, Java-Visual-MachineMyClass:正确,符合标识符的组成规则。_isHis:正确,符合标识符的组成
12、规则。3JavaProgram:错误,因为第1个符号不能为数字。 _$asdf:正确,符合标识符的组成规则。Java-Visual-Machine:错误,标识符不能为保存字。说出常量与变量的定义并举例说明。常量是指程序执行过程中,值保持不变的量,类型划分如下:整型常量实型常量布尔型常量字符型常量字符串常量如整型常量:起始最大整数(正)最大长整数(正)举例十进制0,19214748364707L23, +567,-12,0,1234八进制0777777L034,0175,-0777L十六进制0*0*7FFFFFFF0*7FFFFFFFFFFFFFFFL0*FF, 0*45L变量是指在程序执行过程
13、中,值可以改变的量,类型划分为:整型变量、实型变量、字符型变量、字符串变量、布尔变量等。如:int *=2,就定义了一个整型变量*并且赋值为2。什么是强制类型转换?并说明其运用场合。显型类型转换是强制类型转换,它是一种窄化转换 (narrowing conversion),如:double a = 1.5;float b = a;System.out.println(b= + b);编译: possible loss of precision数据精度丧失,数据丧失。强制类型转换一般运用在二元运算符的二个操作数类型不同表达式值的类型与变量的类型不同描述Java程序的构成。如何判断Java程序的主
14、类?下面的程序有哪些错误并改正,该程序的源代码应当保存为什么名字的文件?Public class MyClassPublic static void main()System.out.printIn(“my name is );System.out.printIn(“the end!);Java程序的主类中包含main(),而其它类中没有;该程序的源代码应当保存为MyClass.java。另外该程序中包含以下的错误:Public的第一个字符应当小写;定界符“应当改为;printIn应该为printlnSystem.out.printIn(“the end!); 代码应放在方法中构造化程序设计有
15、哪三种根本流程?分别对应Java中的那些语句?构造化程序设计有下面三种根本流程:顺序构造语句,条件选择语句,循环控制语句,跳转/转向语句。条件选择语句对应Java中的if,if-else,嵌套的if-else,条件运算符,switch-case。循环控制语句对应Java中的for,while,do-while语句。跳转/转向语句对应Java中的contonue,break,return语句。在一个循环中使用break,continue,return的差异。break:跳出(中止)循环continue:完毕本次循环return:方法返回数组的定义,特点与分类。如何进展数组的初始化?数组的定义:数
16、组是一组同类型的变量或对象的集合。数组的特点:数组的类型可以是根本类型,或类和接口;数组中每个元素的类型一样;引用数组元素通过数组名下标;数组下标(数组的索引)从0开场。数组是一种特殊的对象(Object),可以定义类型 (声明);创立数组 (分配内存空间) ;释放 (Java虚拟机完成)。数组分类:一维数组、多维数组。第三章面向对象的实现选择题在Java中,用package说明一个包时,该包的层次构造必须是 B 。A. 与文件的构造一样 B. 与文件的目录层次一样C. 与文件的类型一样 D. 与文件大小一样以下构造方法的调用方式中,正确的选项是 C 。A. 按照一般方法调用B. 由用户直接调
17、用C. 可通过new自动调用D. 被系统调用int 型public成员变量MA*_LENGTH,该值保持为常数100,则定义这个变量的语句是 D 。A. public int MA*_LENGTH=100 B. final int MA*_LENGTH=100C. public const int MA*_LENGTH=100D. public final int MA*_LENGTH=100在Java中,以下表达不正确的选项是 B 构造方法名与类名一样。构造方法不是用来完成初始化的。构造方法由 new 操作调用,而不能被用户直接调用。构造方法没有返回类型。在Java中,下面的表达哪个是不正确
18、的? D 类的静态方法可以在该类的对象被创立前调用类的静态方法不能访问该类的非静态方法abstract 修饰符可以出现在类或方法的前面,但不能出现在变量之前final 修饰符可以出现在类或变量之前,但不能出现在方法之前在Java里,以下选项 D 不是实现面向对象思想的机制。封装B. 继承多态D. 数据类型转换类Worker是类Person的子类,Worker构造方法中有一句super( );,该语句是什么意思? C调用类Worker中定义的super( )方法调用类Person中定义的super()方法调用类Person的构造函数语法错误给定Java程序,如下:编译运行Test.java,结果
19、是 C 。public class Testprivate static final int counter=10;public static void main(String args) System.out.println(counter+);A.10B.11C.编译错误D.运行时出现异常给定如下Java代码,编译时会在 D 出现错误。只选择一项 class Parent class Child e*tends Parentpublic static void main(String args)Parent p1 = new Child( ); /第一行Parent p2 = new Pa
20、rent( ); /第二行Child c1 = new Child( ); /第三行Child c2 = new Parent( ); /第四行第一行B. 第二行第三行 D. 第四行在Java中,*类方法使用以下 BC 访问修饰符修饰后,可以被其的子类访问。privateB. protectedpublicD. friendly在Java 语言中,如果你有下面的类定义:abstract class Shapeabstract void draw();class Square e*tends Shape以下描述正确的选项是 B 一切成功编译Shape可以编译,Square不能编译Square可以
21、编译,Shape不能编译Square,Shape都不能编译分析以下Java代码:class Apublic static void main(String args)method( );static void method( )System.out.println(Hello);System.e*it(0);System.out.println(good-bye);编译运行后,输出结果是( A )。HelloB. good-byeHello后面是good-byeD. 代码不能编译下表是final修饰符与变量、方法、类等一起作用的结果的对应表,但是对应关系存在错误,请选择正确的对应关系。 C 概
22、念作用 1变量 A 不能再产生子类 2方法 B 一旦赋值,就不能更改 3类 C不能在子类中覆盖1-A2-B3-C1-C 2-A3-B1-B2-C3-A1-C 2-B3-A有以下程序:public class ConstOver public ConstOver (int *, int y, int z) 下面哪个方法重载了上面的ConstOver构造方法? B protected int ConstOver ( ) private ConstOver (int z, int y, byte *) public object ConstOver (int *, int y, int z) pub
23、lic void ConstOver (byte *, byte y, byte z) 有以下程序:class BaseClass private float * = 1.0f ;public float getVar() ( return *;)class Subclass e*tends BaseClass private float * = 2.0f;/ insert code here下面哪个方法加到程序中的“/insert code here位置是有效的重定义父类的方法。 B protected float getVar ( ) return *;public float getVa
24、r( ) return *;protected float double getVar( ) return *;public float getVar(float f) return f;指出以下程序运行的结果 B public class E*ampleString str = new String(good); char ch = a,b,c; public static void main(String args)E*ample e*=new E*ample( ); e*.change(e*.str,e*.ch);System.out.print(e*.str + and );Syste
25、m.out.print(e*.ch); public void change(String str, char ch )str = test ok;ch0 = g;good and abc B. good and gbc test ok and abcD. test ok and gbc以下哪些语句关于内存回收的说明是正确的 B 程序员必须创立一个线程来释放内存;内存回收程序负责释放无用内存;内存回收程序允许程序员直接释放内存;内存回收程序可以在指定的时间释放内存对象。创立一个名为“MyClass.java的文件,该文件中只有一个可被整个工程中的所有类访问的类,则该类的正确声明应为: C pr
26、ivate class MyClass e*tends Object B. class TestClass e*tends Object public class MyClassD. public class TestClass以下表达中,错误的选项是 ( A )内部类的名称与定义它的类的名称可以一样内部类可用abstract修饰内部类可作为其他类的成员内部类可访问它所在类的成员用于在子类中调用被重写的父类方法的关键字是 ( B )thissuperThisSuper下面程序输出结果是 A public class Delta static boolean foo(char c) System
27、.out.print(c);return true;public static void main( String argv ) int i =0;for ( foo(A); foo(B)&(i2); foo(C)i+ ;foo(D);ABDCBDCBABCDABCD编译错误运行时异常以下 B 修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问。privateB. 无修饰符publicD. protected 给出以下代码,如何使成员变量m 被方法fun( )直接访问? C class Testprivate int m; public static void fun( ) . 将pr
28、ivate int m 改为protected int m将private int m 改为 public int m将private int m 改为 static int m将private int m 改为 int m有以下类的说明,则以下哪个语句是正确的? A public class Testprivate float f = 1.0f; int m = 12; static int n = 1; public static void main(String args)Test t = new Test( ); t.f;B. this.n;Test.m;D. Test.f; 以下代码
29、的执行结果是 A public class Testpublic void aMethod( ) static int i = 0; i+; System.out.println(i);public static void main(String args)Test test = new Test( ); test.aMethod( ); 编译错误B. 0 1D. 运行成功,但不输出假设特快订单是一种订单,则特快订单类和订单类的关系是 C 使用关系B. 包含关系继承关系D. 无关系以下代码中,将引起一个编译错误的行是 D 1public class Test 2 int m,n; 3 publ
30、ic Test( ) 4 public Test(int a) m=a; 5 public static void main(String args) 6 Test t1,t2; 7 int j, k; 8 j = 0; k = 0; 9 t1 = new Test(); 10 t2 = new Test(j,k); 11 12 第3行B. 第5行第6行D. 第10行以下表达中,错误的选项是 D 父类不能替代子类B. 子类能够替代父类子类继承父类D. 父类包含子类程序阅读题写出以下程序的结果:public class Test private static void printArray(in
31、t arr) for(int i=0;i arr.length;i+) System.out.print(arri+,); System.out.println(“n); private static void changeValue(int value) value*=2; private static void changeValue(int arr) for(int i=0;i10) throw E*ception(something wrong!);if (i10) throw E*ception e (something wrong!);if (i10) throw new E*ce
32、ption(something wrong!);if (i10) throw new E*ception e (something wrong!);分析以下Java代码:class Apublic static void main(String args)method( ); static void method( )trySystem.out.println(Hello);System.e*it(0);finallySystem.out.println(good-bye); 编译运行后,输出结果是 A HelloB. good-byeHelloD. 代码不能编译good-bye关于捕获错误的
33、语法try-catch-finally的以下描述正确的选项是 C 。try必须和catch搭配使用try可以单独使用try-finally可以搭配使用在try块后如果定义了finally,则不能再定义catch块在Java 中,假定有一个包含引起异常不是一个RuntimeE*ception的代码的方法,用什么方式告诉方法的调用者要捕获该异常。 B throw E*ceptionB. throws E*ceptionnew E*ceptionD. 不用特别指定考虑以下JAVA代码:class Apublic static void main(String args)trySystem.out.p
34、rintln(Hello,World!); 这段代码错误的原因是 A 。没有catch和finally块没有抛出异常的代码不能出现在try代码块内如果没有catch块而使用try,main( )会总是抛出异常class A没有throws IOE*ception考虑一下代码,编译运行之后,会 D String s=null;System.out.println(s.charAt(0);输出null没有输出编译错误编译成功,但是运行时报NullPointerE*ception异常研究下面的Java代码:public class testE*ception public static void m
35、ain(String args) int a =0,1,2,3,4; int sum=0; tryfor(int i=1;i6;i+)sum=sum+ai;System.out.println(sum= + sum); catch(ArrayInde*OutOfBoundsE*ception e)System.out.println(数组越界); finallySystem.out.println(程序完毕); 输出结果将是 C 。10 数组越界程序完毕10 程序完毕数组越界程序完毕程序完毕第五章 java.lang包和字符串选择题Java编程所必须的默认引用包为 B A. java.sys包
36、B. java.lang包C. java.new包D. 以上都不是在Java中,所有类的根类是 A A. java.lang.ObjectB. java.lang.Class C. java.applet.AppletD. java.awt.Frame 设有下面两个赋值语句:*1=Integer.parseInt(123);*2=Integer.valueOf(123).intValue();下述说法正确的选项是 D 。*1为int型变量,*2为Integer类的对象*2为int型变量,*1为Integer类的对象*1、*2均为Integer类的对象*1、*2均为int型变量在Java中,存放
37、字符串常量的对象属于 B 类对象。A. Character B. StringC. StringBufferD. Vector如下定义:String str = I love;下面 D 表达式是合法的。A. char ch = str0;B. int len = str.length;C. String to = str.delete(1, 2);D. str += China;设有以下程序段,执行后,屏幕输出 A 。String s1 = I love +China;String s2 = new String(s1);if (s1 = s2)System.out.println(=);if
38、 (s1.equals(s2) = true)System.out.print(equals);A. equalsB. =C. = equalsD. 不输出以下方法中,不属于类String的方法是 D 。A. toLowerCase ()B. replace ()C. charAt ()D. append ()有以下程序: public class aapublic static void main(String args) String s = 18.03;try double number1 = Double.parseDouble(s);t(number1);int number2 =
39、Integer.parseInt(s);System.out.println( + number2);catch(NumberFormatE*ception nfe) System.out.println( Sorry);catch(E*ception e)执行结果是 C 。18.03B. SorryC. 18.03 SorryD. 程序编译错误第六章 java.lang包和字符串选择题以下 A 集合不能含有重复元素。A. SetB. ListC. MapD. Collection当元素个数固定时,使用 D 集合查找效率最高。A. SetB. ListC. MapD. Arrays你希望存储少
40、量数据并能快速访问. 你并不需要排序这些数据,那种数据构造最适合这种需求 D TreeSet B. HashMapC. LinkedListD. 数组欲构造ArrayList类的一个实例,此类继承了List接口,以下哪个方法是正确的? B ArrayList myList=new Object();List myList=new ArrayList();ArrayList myList=new List(); List myList=new List();关于HashMap和TreeMap类,判断以下那种说法是正确的? A 它们都能方便地定位映射中的值对象它们都实现了SortedMap接口它们
41、都能高效地按照顺序遍历键以上说法都不对以下哪个不是Iterator接口所定义的方法? D A. hasNe*t()B. ne*t()C. remove()D. ne*tElement()关于链表构造,陈述错误的选项是哪个? B 链表可动态增长在链表中查找对象是最有效的链表中的元素可以重复通常情况下,向链表中插入元素的效率高于向ArrayList中插入元素的效率Java语言的集合框架类定义在 B 语言包中。java.langB. java.utilC. java.arrayD.java.collections Set 集合如何处理重复的元素 B A. 如果试图向Set集合中添加一个与集合中已有元
42、素值一样的元素时,将抛出异常B. 如果试图向Set集合中添加一个与集合中已有元素值一样的元素时,add方法返回falseC. 如果试图向Set集合中添加一个与集合中已有元素值一样的元素时,将发生编译错误D. 可以在Set集合中添加一个与集合中已有元素值一样的元素以下哪项是正确的 D A. Collection是集合继承体系中根类B. Collection接口中提供了enumerator方法C. interator方法返回Vector类的对象D. 实现Set接口的类对象中,每个元素的值均不相等给定以下java代码:import java.util.*;public class LetterASo
43、rt public static void main(String args) ArrayList strings = new ArrayList ( );strings.add(aAaA);strings.add(AaA);strings.add(aAa);strings.add(AAaa);Collections.sort(strings);for ( String s : strings ) System.out.print( s + ); 对该程序编译运行,结果是 C 。编译失败aAaAaAaAAaaAaAAAaaAaAaAaaAaAAaAAAaaaAaAaAaaAaAaAaAaAAA
44、aa运行时抛出异常给定以下java代码:/ 在这里插入private N min, ma*;public N getMin() return min; public N getMa*() return ma*; public void add(N added) if( min = null | | added.doubleValue() ma*.doubleValue() )ma* = added;选择以下哪两行中任一行插入指定位置,程序可以通过编译。 AC public class MinMa* public class MinMa* public class MinMa* public c
45、lass MinMa* public class MinMa* public class MinMa* 给定以下java代码:import java.util.*;public class Old public static Object get(List list)return list.get ( 0 );以下选项中,哪三个能编译成功? ADE Object o = Old.get (new LinkedList();Object o = Old.get(new LinkedList();String s = Old.get(new LinkedList();Object o = Old.
46、get(new LinkedList();String s = (String)Old.get(new LinkedList();给定以下java代码:public void takeList(List list)/在这里插入将以下哪些语句插入指定位置,能够编译成功? D list.add(STRING); list = new ArrayList();list = new ArrayList(); String s = list.get(0); Object o = list;给定以下java代码:public class Score implements parable private i
47、nt wins, losses;public Score(int w, int 1) wins = w; losses = 1; public int getWins( ) return wins; public int getLosses( ) return losses; public String toString( ) return ;/ 在这里插入代码以下哪个方法能完成这个类? B public int pareTo(Object o) /*这里是实现代码*/public int pareTo(Score other) /*这里是实现代码*/public int pare(Score
48、 s1,Score s2)/* 这里是实现代码*/public int pare(Object o1,Object o2)/* 这里是实现代码*/给定以下java代码:public static void append(List list) list.add(0042); public static void main(String args) List intList = new ArrayList( );append(intList);System.out.println(intList.get(0);对该程序编译运行,结果是 D 。420042运行时发生异常编译错误阅读程序,并填空。有以
49、下程序:public class Genprivate T object;public Gen_( T object ) this.object = object;public T getObject() return object;public static void main(String args)Gen str = new Gen(“answer);Gen intg = new Gen (42);System.out.println(str.getObject() + “= +intg.getObject();该程序运行结果为42,请将以下选项填入下划线内。注意每个选项均可重复选择。G
50、enGenGenT有以下程序:import java.util.*;public class MyInt implements parableprivate int i;public MyInt(int i) this.i = i;public String toString() return Integer.toString(i); public int pareTo(Object o)MyInt i2 = (MyInt)o;return i-i2.i; public static void main(String args) ArrayList list = new ArrayList()
51、;list.add(new MyInt(2);list.add(new MyInt(1);Collections.sort(list);System.out.println(list);该程序运行结果为1,2,请将以下选项填入下划线内。implements Object parableprotectedpublici - i2.ii i2.i ipare(MyInt o, MyInt i2)pare(Object o, Object i2)pareTo(MyInt o)pareTo(Object o )综合编程题设有一数列:a1=3,a2=8,an=2an-1+2an-2,使用堆栈构造输出an
52、的假设干项。import java.util.HashMap;public class NumNameMap public static void main(String args) HashMap stu=new HashMap();stu.put(1,list);stu.put(2,Bill);stu.put(3,Ann);System.out.println(stu);有如下的类:public class NumberListprivate ArrayList al;public NumberList(int value) /将数组value中的元素添加到al中Map count( )/
53、统计al中每个元素出现的次数,并将“元素值,这个元素出现的次数作为键值对保存到Map对象中要求如下:1按注释中的要*现其中的方法。2定义一个测试类,用以验证NumberList类的正确性。import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.Map;class NumberList privateArrayListal;public NumberList(int value)/将数组value中的元素添加到al
54、中al=newArrayList();for(inti=0;ivalue.length;+i)al.add(valuei);public Map count()/统计al中每个元素出现的次数,并将“元素值,这个元素出现的次数作为键值对保存到Map对象中HashSetset1=newHashSet();set1.addAll(al);HashMaphm=newHashMap();Iteratorit=set1.iterator();while(it.hasNe*t()intn=(int)it.ne*t();hm.put(n, 0);it=al.iterator();while(it.hasNe*
55、t()intn=(int)it.ne*t();hm.put(n,(int)hm.get(n)+1);returnhm;publicstaticvoid main(String args) int arr=1,3,2,4,7,1,1,3,4,8; NumberList nl=new NumberList(arr); Map hm=nl.count();System.out.println(hm);第七章输入输出和序列化一、选择题下面关于System.out的说法哪个正确? A B C System.out是一个PrintStreamSystem.out是一个OutputStreamSystem.
56、out是一个FilterOutputStreamSystem.out不是一个PrintStream下面哪个语句可以建立文件“file.t*t的字节输入流? D InputStream in = new InputStream(file.t*t)InputStream in = new FileReader(file.t*t)FileInputStream in = new FileOutputStream(file.t*t)FileInputStream in = new FileInputStream(file.t*t)当前文件系统中已经存在了文件file.t*t,该文件包涵有ASCII文本
57、,代码片段如下:try File f = new File(file.t*t);outputStream out = new FileOutputStream(f, true);catch (IOE*ception) 结果是什么? B 代码不能编译代码可以编译并运行,对该文件不会有改变代码可以编译并运行,并将该文件的长度设置为0抛出异常,因为该文件没有关闭代码可以编译运行,并从文件系统中删除该文件。下面哪个选项可以将“hello字符写入文件file.t*t的末尾? B OutputStream out= new FileOutputStream (file.t*t);Out.writeByte
58、s (hello);OutputStream os= new FileOutputStream (file.t*t, true);DataOutputStream out = new DataOutputStream(os);out.writeBytes (hello);OutputStream os= new FileOutputStream (file.t*t);DataOutputStream out = new DataOutputStream(os);out.writeBytes (hello);OutputStream os= new OutputStream (file.t*t,
59、 true);DataOutputStream out = new DataOutputStream(os);out.writeBytes (hello);哪个类是FilterOutputStream类构造器的合法参数? B InputStreamOutputStreamFileRandomAccessFileStreamTokenizer 下面关于的说法哪个不正确? C 一个对象在一个JVM被序列化后,可以在另外一个JVM被反序列化声明成transient的数据成员不能被序列化和反序列化声明成static的数据成员,因为该数据成员是对象内部的成员,所以仍然可以被序列化如果一个父类可以被序列化
60、,则所有继承该类的子类也可以被序列化分析下面给出的代码结果是什么?import java.io.*;public class Forest implements Serializable private Tree tree = new Tree();public static void main(String args) Forest f = new Forest();try FileOutputStream fs = new FileOutputStream(Forest.ser);ObjectOutputStream os = new ObjectOutputStream(fs);os.w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电器具包装与物流考核试卷
- 2024年项目管理专业人士资格认证考试专业知识试题及答案
- 2025年注会考试成功的秘诀试题及答案
- 2024年项目管理考试实操指导试题及答案
- 电气设备光纤传感技术考核试卷
- 环保志愿者培训考核试卷
- 掌握技巧2024年项目管理专业人士资格考试试题及答案
- 江苏河道杉木桩施工方案
- 中型海水淡化处理设备考核试卷
- 项目管理人员资格考试资格设置试题及答案
- 1输变电工程施工质量验收统一表式(线路工程)-2024年版
- 2024年全国乡村振兴职业技能大赛“育婴”赛项考试题库(决赛用)
- 《内在强大:应变万难的力量》记录
- TSHJX 067-2024 基于TACS的全自动运行线路综合联调技术规范
- 2024至2030年中国擦窗机器人产业竞争现状及投资决策建议报告
- 益母草颗粒的保肝作用机制
- 中国经济史教学课件第八章近代农业经济的发展
- 2024年东南亚生化需氧量(BOD)分析仪市场深度研究及预测报告
- 高中数学教师资格证面试真题试
- 数学教育研究导论
- 医疗器械委托生产控制程序
评论
0/150
提交评论