《Java基础入门》 - 课后习题 下载本文

博学谷——让IT教学更简单,让IT学习更有效

public class Test01 {

public static void main(String[] args) { TreeSet ts = new TreeSet(); ts.add(\ ts.add(\ ts.add(\ ts.add(\ }

Iterator it = ts.iterator(); while(it.hasNext()) {

System.out.println(it.next()); }

}

代码二:

import java.util.ArrayList; public class Test02 { }

public static void main(String[] args) { }

ArrayList list = new ArrayList(); list.add(\ list.add(\ list.add(\ }

for (String obj : list) {

System.out.println(obj);

代码三:

import java.util.*; public class Test03 { }

public static void main(String[] args) { }

ArrayList list = new ArrayList(); list.add(\list.add(\list.add(\

ListIterator it = list.listIterator(); while(it.hasPrevious()) { }

Object obj = it.previous(); System.out.print(obj+\

代码四:

import java.util.*; import java.util.Map.*;

博学谷——让IT教学更简单,让IT学习更有效

public class Test04 { }

public static void main(String[] args) { }

Map map = new HashMap(); map.put(1, \map.put(2, \map.put(3,\

Set keySet = map.keySet(); Iterator it = keySet.iterator(); while (it.hasNext()) { }

Object key = it.next(); System.out.println(key); map.remove(key);

五、简答题

1、什么是集合,请列举集合中常用的类和接口? 2、集合中的List、Set、Map有什么区别?

3、请说说Collection和Collections的有什么区别? 六、编程题

请按照题目的要求编写程序并给出运行结果。

1、 使用ArrayList集合,对其添加10个不同的元素,并使用Iterator遍历该集合。

提示:

1)使用add()方法将元素添加到ArrayList集合中。

2)调用集合的iterator()方法获得Iterator对象,并调用Iterator的hasNext()和next()方法,迭代出

集合中的所有元素。

2、 在HashSet集合中添加三个Person对象,把姓名相同的人当做同一个人,禁止重复添加。 提示: 1)Person类中定义name和age属性,重写hashCode()方法和equals()方法,针对Person类的name

属性进行比较,如果name相同,hashCode()方法的返回值相同,equals方法返回true。

3、选择合适的Map集合保存5位学员的学号和姓名,然后按学号的自然顺序的倒序将这些键值对一一打印出来。 提示:

1)创建TreeMap集合。

2)使用put()方法将学号(“1”、“2”、“3”、“4”、“5”)和姓名(“Lucy”、“John”、“Smith”、“Aimee”、“Amanda”)存储到Map中,存的时候可以打乱顺序观察排序后的效果。 3)使用 map.keySet()获取键的Set集合。

4)使用Set集合的iterator()方法获得Iterator对象用于迭代键。 5)使用Map集合的get()方法获取键所对应的值。

第8章 IO(输入输出)

一、填空题

博学谷——让IT教学更简单,让IT学习更有效

1、Java中的IO流,按照传输数据不同,可分为____和____。

2、在Java中,____类用于操作磁盘中文件和目录,位于____包中。

3、在Java中,___类用来把两个或更多的InputStream输入流对象合并为单个InputStream输入流对象 使用。

4、Java中提供了一个类____,它不但具有读写文件的功能,并且可以随机地从文件的任何位置开始执行读写数据的操作。

5、在Java中,能实现线程间通信的流是____。

6、Java中提供了一个可以在读文件的同时记录行号的类,这个类是____,它是____的直接子类,它通过____和 ____方法设置和获取当前行号。 7、InputStreamReader类是用于将____转换为____。

8、System.out是____类的对象,称为标准输出流,调用System类的____方法可以实现标准输出流的重定向。

9、Java中一个字符占用两个字节,所有字符采用的都是____码表。 10、BufferedWriter的____方法可以写入一个换行符。 二、判断题

1、如果一个File表示目录下有文件或者子目录,调用delete()方法也可以将其删除。 2、装饰设计模式中,装饰对象应该包含一个被装饰对象的引用。

3、使用ObjectInputStream与ObjectOutputStream类来读取或存储的对象必须要实现Serializable接口,否则程序将出现NotSerializableException异常。

4、InputStream类的close()方法是用于关闭流并且释放流所占的系统资源。

5、一般来说,把字符转换成计算机识别的字节序列称为解码,而把字节序列转换为普通人能看懂的明文字符称为编码。 三、选择题

1、下面选项中,哪些是标准输入输出流?(多选)

A、System. In B、System. Out C、InputStream D、OutputStream 2、以下选项中,哪个是FileOutputStream的父类?

A.File B.FileOutput C.OutputStream D.InputStream 3、File类中以字符串形式返回文件绝对路径的的方法是? A、getParent() B、getName() C、getAbsolutePath() D、getPath() 4、下面哪些是常用的字符码表?(多选)

A、ASCII B、UTF-8 C、ISO8859-1 D、GB2312

5、以下创建RandomAccessFile类实例对象的代码,哪些是正确的? (多选) A、RandomAccessFile(new File(“D:\\\\itcast\\\\dir1\\\\test.java”),”rw”) B、RandomAccessFile( “D:\\\\itcast\\\\dir1\\\\test.java”,”r”) C、RandomAccessFile( “D:\\\\itcast\\\\dir1\\\\test.java”)

D、RandomAccessFile( “D:\\\\itcast\\\\dir1\\\\test.java”,”wr”) 6、以下哪些属于InputStream类的方法?(多选)

A、int read(byte[]) B、void flush() C、void close() D、available() 7、以下选项中,哪个流中使用了缓冲区技术?

A 、BuffereOutputStream B、 FileInputStream C、DataOutputStream D、FileReader

8、以下选项中,哪个是File类delete()方法返回值的类型?

A、 boolean B、 int C、 String D、 Integer 9、以下选项中,哪个文件操作类可以实现一次读入多个文件?

博学谷——让IT教学更简单,让IT学习更有效

A、 FileReader B、BufferedReader C、FileInputStream D、SequenceInputStream 10、以下对File类的public boolea isFile()方法的描述,哪个是正确的?

A、判断该File对象所对应的是否是文件。 B、判断该File对象所对应的是否是目录。 C、返回文件的最后修改时间。

D、在当前目录下生成指定的目录。

四、程序填空题

1、阅读以下代码,并将空处填写完整。

import java.io.*;

public static void main(String args[])throws Exception{

int a=4;

BufferedReader br=new BufferedReader(new (System.in)); System.out.println(\请输入一个数字\String input= ; int b=Integer.parseInt(input);

public class Test1 {

if(b>a){

int sum=b/a;

System.out.println(sum); }else{

System.out.println(\输入错误\ } } }

当输入的数字是8时,打印输出的结果是 。 2、以下是使用FileInputStream类与FileOutputStream类复制文件。阅读以下代码,并将空处填写完整。

import java.io.*; class Test2 {

public static void main(String[] args) {

String file1, file2; int ch = 0;

file1 = \file2 = \try {

FileInputStream fis = new ;

fos=new FileOutputStream(file2); int size= ;

System.out.println(\字节有效数、\ while ((ch = fis.read()) != -1) { }

fis.close(); fos.close();

System.out.write(ch); fos.write(ch);