《Java基础入门》课后习题及答案 下载本文

内容发布更新时间 : 2024/5/4 11:53:20星期一 下面是文章的全部内容请认真阅读。

2、在Java中,__File__类用于操作磁盘中文件和目录,位于__java.io__包中。 3、在Java中,_SequenceInputStream

__类用来把两个或更多的InputStream输入流对象合并为单个InputStream输入流对象 使用。

4、Java中提供了一个类__RandomAccessFile

__,它不但具有读写文件的功能,并且可以随机地从文件的任何位置开始执行读写数据的操作。 1、 5、在Java中,能实现线程间通信的流是__管道流 __。

6、Java中提供了一个可以在读文件的同时记录行号的类,这个类是__LineNumberReader__,它是__BufferedReader__的直接子类,它通过__setLineNumber(int)__和 __getLineNumber()__方法设置和获取当前行号。

7、InputStreamReader类是用于将__字节流__转换为__字符流__。

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

2、 9、Java中一个字符占用两个字节,所有字符采用的都是__Unicode __码表。

10、BufferedWriter的__newLine()__方法可以写入一个换行符。 二、判断题

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

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

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

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

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

A、System. In B、System. Out C、InputStream D、OutputStream 2、以下选项中,哪个是FileOutputStream的父类?C A.File B.FileOutput C.OutputStream D.InputStream 3、File类中以字符串形式返回文件绝对路径的的方法是? C A、getParent()

B、getName() D、getPath()

C、getAbsolutePath()

4、下面哪些是常用的字符码表?(多选)ABCD

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

5、以下创建RandomAccessFile类实例对象的代码,哪些是正确的? (多选)AB 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类的方法?(多选)ACD

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

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

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

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

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

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 InputStreamReader (System.in)); System.out.println(\请输入一个数字\String input= br.readLine() ; 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 。

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 FileInputStream(file1) ; FileOutputStream fos=new FileOutputStream(file2); int size= fis.available() ;

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

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

System.out.println(e.toString());

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

} catch (IOException e) {

五、简答题

1、简述流的概念。

Java程序通过流来完成输入和输出,流是输入或输出信息的抽象。流通过Java的输入/输出系统与外设连接进行数据通信。流是抽象的对象,具体实现代码在java.io包中。

2、Java流被分为字节流、字符流两大流类,两者有什么区别?

字节流的两个基类是InputStream和OutputStream,字符流的两个基类是Reader和Writer,它们都是Object类的直接子类,字节流是处理以8位字节为基本单位的字节流类;Reader和Writer类是专门处理16位字节的字符流类。

3、简要说明管道流。

管道流分为管道输入流(PipedInputStream)和管道输出流(PipedOutputStream),通常由一个PipedInputStream实例对象和一个PipedOutputStream实例对象相互连接而实现管道通信,PipedOutputStream向管道写入数据,PipedInputStream从管道中读取PipedOutputStream写入的数据,管道流主要用来完成线程之间的通信。 六、编程题

按照题目需求,编写程序并运行

1、编写一个程序,分别使用字节流和字符流拷贝一个文本文件。 提示:

1)使用FileInputStream、FileOutputStream和FileReader、FileWriter分别进行拷贝

2)使用字节流拷贝时,定义一个1024长度的字节数组作为缓冲区,使用字符流拷贝使用使用

BufferedReader和BufferedWriter包装流进行包装

2、某人在玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出),要求用程序实现密码验证的过程。 提示:

1)使用Sysytem.in包装为字符流读取键盘输入。

2)BufferedReader对字符流进行包装。调用BufferedReader的readLine()方法每次读取一行。 3)在for循环判中判断输入的密码是否为“123456”,如果是则打印“恭喜你进入游戏”,并跳出循环,否则继续循环读取键盘输入。

4)当循环完毕,密码还不正确,则打印“密码错误,结束游戏”,并调用System.exit(0)方法结束程序。

第9章 GUI(图形用户界面)

一、填空题

1、 Java中,图形用户界面简称___GUI___,它的组件包含在___java.awt___和___javax.swing___这两个包中。

2、 为了避免实现监听器中定义的所有方法,造成代码的臃肿,在JDK中提供了一些___适配器___类,

这些类实现了接口所有的方法,但是方法中没有任何代码,属于一种空实现。

3、 在Java中,___Graphics___类相当于一个抽象的画笔对象,使用它可以在组件上绘制图形。 4、 ___事件监听器___负责监听事件源上发生的事件,并对各种事件做出响应处理。