java课后习题答案及部分作业答案 下载本文

A. TreeSet B. HashMap C. LinkedList D. 数组

4、 欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ?( B )

A. ArrayList myList=new Object(); B. List myList=new ArrayList(); C. ArrayList myList=new List(); D. List myList=new List();

5、 关于HashMap和TreeMap类,判断下列那种说法是正确的?( A) A. 它们都能方便地定位映射中的值对象 B. 它们都实现了SortedMap接口 C. 它们都能高效地按照顺序遍历键 D. 以上说法都不对

6、 下列哪个不是Iterator接口所定义的方法?( D ) A. A. hasNext() B. next() C. remove() D. nextElement() 7、 关于链表结构,陈述错误的是哪个?( B ) A. 链表可动态增长

B. 在链表中查找对象是最有效的 C. 链表中的元素可以重复

D. 通常情况下,向链表中插入元素的效率高于向ArrayList中插入元素的效率 8、 java语言的**框架类定义在( B )语言包中。 A. java.lang B. java.util C. java.array D.java.collections

二、综合编程题

1、 设有一数列:a1=3,a2=8,……,an=2an-1+2an-2,使用堆栈结构输出an的若干项。 [解答]:代码如下,运行程序时需要输入一个参数,指出想要输出数列的前多少项 import java.util.Stack; public class StackShow {

public static void main(String[] args) { Stack st = new Stack();

int count = Integer.valueOf(args[0]).intValue(); int temp;

Integer first = new Integer(3); Integer second = new Integer(8); st.add(first); st.add(second);

for (int i = 0; i < count - 2; i++) { temp = first.intValue() + second.intValue(); st.add(new Integer(temp));

first = second;

second = new Integer(temp); }

System.out.println(\输出这个系列的前\+ count + \个数:\Object result[] = st.toArray(); int wanghang = 0;

for (int i = result.length - 1; i >= 0 ; i--) { System.out.print(st.pop() + \\wanghang++;

if(wanghang % 5 == 0){ System.out.println(\} } } }

2、 利用映射结构保存由学号和姓名组成的键—值对,按学号的自然顺序将这些键值对一一打印出来。 import java.util.*; public class Student{ private String id; private String name; private int phoneNumber;

Student(String sId,String sName,int iPhone){ id=sId; name=sName; phoneNumber=iPhone; }

public String toString(){

return (id+\}

public static void main(String[] args){ Map students=new TreeMap();

Student s1=new Student(\张惠妹\students.put(s1.id,s1);

Student s2=new Student(\周杰伦\students.put(s2.id,s2);

Student s3=new Student(\王力宏\students.put(s3.id,s3);

Student s4=new Student(\周华健\students.put(s4.id,s4);

Student s5=new Student(\苏芮\students.put(s5.id,s5); Set keys=students.keySet(); Iterator it=keys.iterator(); Student s; String key; while(it.hasNext()){ key=(String)it.next();

System.out.println(students.get(key)); } } }

第七章 java.io包和输入输出 一、选择题

1、 下面关于System.out的说法哪个正确?( ABC ) A. System.out是一个PrintStream B. System.out是一个OutputStream C. System.out是一个FilterOutputStream D. System.out是一个PrintStream

2、 下面哪个语句可以建立文件“file.txt”的字节输入流?( A )

A. InputStream in=new InputStream(\B. InputStream in=new FileReader(\

C. FileInputStream in=new FileOutputStream(\D. FileInputStream in=new FileInputStream(\

3、 当前文件系统中已经存在了文件file.txt,该文件包涵有ASCII文本,代码片段如下: try {

File f = new File(\

outputStream out = new FileOutputStream(f, true); }catch (IOException) { }

结果是什么?( B ) A. 代码不能编译

B. 代码可以编译并运行,对该文件不会有改变 C. 代码可以编译并运行,并将该文件的长度设置为0 D. 抛出异常,因为该文件没有关闭

E. 代码可以编译运行,并从文件系统中删除该文件。

4、 下面哪个选项可以将“hello”字符写入文件file.txt的末尾?( B ) A. OutputStream out= new FileOutputStream (\Out.writeBytes (\

B. OutputStream os= new FileOutputStream (\true); DataOutputStream out = new DataOutputStream(os); out.writeBytes (\

C. OutputStream os= new FileOutputStream (\DataOutputStream out = new DataOutputStream(os); out.writeBytes (\

D. OutputStream os= new OutputStream (\true); DataOutputStream out = new DataOutputStream(os); out.writeBytes (\

5、 哪个类是FilterOutputStream类构造器的合法参数?( B ) A. InputStream B. OutputStream C. File

D. RandomAccessFile E. StreamTokenizer