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

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

使用。

4、Java中提供了一个类__RandomAccessFile

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

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

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

8、是__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

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

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

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

D、RandomAccessFile( “D:\\\\itcast\\\\dir1\\\\”,”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 .*;

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

int a=4;

BufferedReader br=new BufferedReader(new InputStreamReader ); \请输入一个数字\ String input= () ; int b=(input);

public class Test1 {

if(b>a){

int sum=b/a; }else{ \输入错误\ } } }

当输入的数字是8时,打印输出的结果是 2 。

2、以下是使用FileInputStream类与FileOutputStream类复制文件。阅读以下代码,并将空处填写完整。

import .*; 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= () ; \字节有效数、\ while ((ch = ()) != -1) { } (); ();

(ch);

} catch (IOException e) {

}

}

}

五、简答题

1、简述流的概念。

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

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)使用包装为字符流读取键盘输入。

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

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

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

一、填空题

1、 Java中,图形用户界面简称___GUI___,它的组件包含在和这两个包中。 2、 为了避免实现监听器中定义的所有方法,造成代码的臃肿,在JDK中提供了一些___适配器___类,

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

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

5、 大部分的Swing组件都是___JComponent___类的直接或者间接子类,其名称都是在原来AWT组件

名称前加上字母J。

6、 AWT事件有多种多样,大致可以分为___窗体事件___、___键盘事件___、___鼠标事件___、___

动作事件___等。

7、 如果点击Frame窗口右上角的关闭按钮能将其关闭,那么这个Frame窗口添加了

___WindowListener___监听器,并实现了监听器的实现了___windowClosing(WindowEvent e)___方法。

8、 对话框可以分为___模态对话框___和___非模态对话框 ___两种。

9、 每一个容器都有一个默认的布局管理器,如果不希望通过布局管理器对容器进行布局,可以调用

容器的___setLayout(null)___方法将其取消。

10、创建下拉式菜单需要使用三个组件,分别是___JMenuBar___、___JMenu___和___JMenuItem___。 二、判断题。

1、容器(Container)是一个可以包含基本组件和其它容器的组件。对

2、可以通过实现ActionListener接口或者继承ActionAdapter类来实现动作时间监听器。错 3、CardLayout布局管理器将界面看做一系列卡片,在任何时候只有其中一张卡片是可见的。对 4、非模态对话框是指用户需要等到处理完对话框后才能继续与其它窗口进行交互。错 5、JFrame的默认布局管理器是FlowLayout。错 三、选择题

1、下面四个组件中哪一个不是Component的子类D

A、Button B、Dialog C、Label D、MenuBar 2、每一个GUI程序中必须包含一个什么组件D

A、按钮 B、标签 C、菜单 D、容器 3、下面四个选项中,哪些是事件处理机制中的角色(多选)ABD A、事件 B、事件源

C、事件接口 D、事件监听器

4、当鼠标按键被释放时,会调用以下哪个事件处理器方法A A、mouseReleased() B、mouseUp() C、mouseOff() D、mouseLetGo()

5、ActionEvent的对象会被传递给以下哪个事件处理器方法D A、addChangeListener() B、addActionListener() C、stateChanged() D、actionPerformed() 6、AWT中,常用的布局管理器包括哪些(多选)ABCD

A、FlowLayout布局管理器 B、BorderLayout布局管理器 C、CardLayout布局管理器 D、GridLayout布局管理器 7、下面哪些是FlowLayout类中表示对齐方式的常量(多选)ABD A、 B、 C、 D、

8、下面对与Swing的描述,正确的有哪些(多选)ABC

A、Swing 是在AWT基础上构建的一套新的图形界面系统 B、Swing提供了AWT 所能够提供的所有功能 C、Swing 组件是用Java代码来实现的 D、Swing组件都是重量级组件

9、下面四对AWT和Swing对应组件中,错误的是D A、Button和JButton B、Dialog和JDialog C、MenuBar和JMenuBar

D、ComboBox和JComboBox

10、使用下面哪个组件可以接收用户的输入信息C A、JButton B、JLabel

C、JTextField D、以上都可以

四、程序分析题

阅读下面的程序以及注释的要求,在空格处填上相应的代码 代码一:

import .*; import .*;

public class MyLayout __extends __/*此处填空*/ JFrame{

JLabel labelNo,labelName,labelGender; JTextField stdno,name,gender; int x=0,y=0,w,h;

Container cp=getContentPane(); public MyLayout() {

setLayout(null);

学号=new JLabel(\、\ 姓名=new JLabel(\、\ 性别=new JLabel(\、\

_____Stdno = new JTextField();_______ ;

import .*;

public class MyMouseHandler extends JFrame {

public MyMouseHandler() { }

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

new MyMouseHandler();

final JLabel label = new JLabel(\此处显示鼠标右键点击的坐标\ (true); ;

(label, ; (300, 200); ;

(new MouseAdapter() { }); (true);

public void mouseClicked(MouseEvent e) { }

if () == { }

int x = (); int y = ();

String banner = \鼠标当前点击位置的坐标是\ (banner);