1、Java 语言程序设计(一)自考题-4 及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:10,分数:10.00)1.在 java.awt.event 包中用来检测并对事件做出反应的模型不包括( )A源对象 B监视器对象C事件对象 D事件方法(分数:1.00)A.B.C.D.2.在 Java 语言中,JPane1 是一种通用容器,它的默认布局为( )AFlowLayout BGridBagLayoutCCardLayout DGridLayout(分数:1.00)A.B.C.D.3.在 Java 语言中,JTextField 类用来建立文本框,与文本框相关的接口是(
2、 )AActionListener BMouseListenerCWindowListener DItemListener(分数:1.00)A.B.C.D.4.在 Java 语言中,显示文字的方法主要有三种,其中在指定位置显示字符串的方法是( )AdrawString() BdrawChars()CdrawBytes() DdrawStrings()(分数:1.00)A.B.C.D.5.在 Java 语言中,文字字型有三个要素,分别是( )A字体、字形和字号 B字形、颜色和字号C字体、风格和字号 D字体、字形和颜色(分数:1.00)A.B.C.D.6.有 Java 对象定义:Graphics
3、g;,下面能画出一个圆的语句是( )Ag.drawOval(300,300,200,200); Bg.drawRect(300,300,200,200);Cg.drawOval(300,300,200); Dg.drawArc(300,300,200);(分数:1.00)A.B.C.D.7.Java 语言的图像处理功能被封装在( )类中。APicture BImageCpicture Dimage(分数:1.00)A.B.C.D.8.Java 语言支持的音频格式有多种,小程序要播放音频文件,可以使用的类是( )AAudioClip BAudioCClip DJava. Clip(分数:1.00
4、)A.B.C.D.9.为 Java 的 8 位字节流数据的读和写操作提供支持的类分别是( )AInput 类和 Output 类 BFileInputStream 类和 FileOutputStream 类CReader 类和 Writer 类 DFileReader 类和 FileWriter 类(分数:1.00)A.B.C.D.10.在编写访问数据库的 Java 程序过程中,用来处理驱动程序的加载和建立新数据库连接的类是( )AConnection 类 BStatement 类CDriverManager 类 DResultSet 类(分数:1.00)A.B.C.D.二、填空题(总题数:1
5、0,分数:20.00)11. 1 布局是把容器内的空间简单地划分为东西南北中五个区域。(分数:2.00)填空项 1:_12.在 Java 语言中,创建一个菜单条对象 menuobj 的代码是_。(分数:2.00)填空项 1:_13.Java 语言为处理鼠标事件提供两个接口:MouseListener 接口和 1 接口。(分数:2.00)填空项 1:_14.Java 语言中,实现 KeyListener 接口的方法有:keyPressed(KeyEvent e)、keyReleased(KeyEvent e)和1。(分数:2.00)填空项 1:_15.在 Java 程序中有如下设置:setBac
6、kground(Color.blue);g.setXORMode(Color.red);g.setColor(Color.blue);g.drawLine(300,300,500,500);,则线的颜色是 1。(分数:2.00)填空项 1:_16.当图像信息量较大时,采用直接显示的方法,可能会出现斑驳现象,为了提高显示效果,许多应用程序都采用 1 技术。(分数:2.00)填空项 1:_17.Java 语言中控制声音的播放有三个方法:play1、stop2 和 3。(分数:2.00)填空项 1:_18.线程在生命周期中要经历 5 种状态,分别是新建状态、就绪状态、运行状态、 1 状态和死亡状态。
7、(分数:2.00)填空项 1:_19.在 Java 程序中要设置打开文件对话框的文件筛选条件,应该继承 1 类,编写一个实现类,实现accept(File f)与 getDescription2 两个方法。(分数:2.00)填空项 1:_20.在 Java 语言中,服务器端使用的套接字类是 1。(分数:2.00)填空项 1:_三、简答题(总题数:6,分数:18.00)21.简述 Java 语言编写事件处理程序的主要方案。(分数:3.00)_22.简述 JDialog 类常用的构造方法。(分数:3.00)_23.请写出一条语句,能够画一个三维矩形线框,已知矩形的左上顶点(100,200)和右下顶
8、点(500,400),设调用的对象是 Craphics g。(分数:3.00)_24.简述线程从阻塞状态恢复到就绪状态的途径。(分数:3.00)_25.对 Java 程序而言,输入/输出主要包括哪三个方面。(分数:3.00)_26.简述使用 Java 语言进行数据库操作,插入数据表记录的方案。(分数:3.00)_四、程序填空题(总题数:5,分数:20.00)27.阅读并完成程序。public class Class27int m,n;public_public_m=a;public static void main(String args)Class27 t1,t2;int j=0;t1=ne
9、w Class27();t2=new Class27(j);(分数:4.00)填空项 1:_28.下面程序运行后显示一个窗口,在窗口中有一个按钮,请完成程序。import javax.swing.*;public class Class28public static void main(String args)JFrame mw=new JFrame(“我的窗口“);mw.setSize(300,400);JButton button=new JButton(“我是按钮“);mw._.add(button);mw._;(分数:4.00)填空项 1:_29.某程序的界面包含一个列表(允许多选),
10、一个文本区。当在列表中选中若干项后,文本区中显示列表中所有选中的项目名称。这里给出部分代码如下:import java. awt.*;import javax. swing.*;import javax. swing. event.*;public class Class29 implements ListSelectionListenerJList list1;JFrame my win;JTextArea text;String news=“人民日报“,“河南日报“,“郑州晚报“,“大河报“;Panel p=new Panel();public Class29(String s)mywin
11、=new JFrame();Container con=mywin. getContentPane();list1=new JList(news);list1._;/设置列表选择模型为多选list1.addListSelectionListener(this);text=new JTextArea(10,20);p.add(list1);p.add(text);mywin.add(p);mywin.pack();mywin.setVisible(true);public void valueChanged(ListSelectionEvent e)int listtmp=list1.getSe
12、lectedIndices();for(int i=0;i_;i+)text.append(news(listtmpi)+/n);(分数:4.00)填空项 1:_30.下面程序的主线程创建 10 个线程,它们都取变量的值,经累加后,将新值存回到变量且要求结果正确。class MyResourceClassint IntegerResource;MyResourceClass()IntegerResource=0;public int getInfo()return IntegerResource;public void putInfo(int info)IntegerResource=info
13、;_Void sumResource(int q)int LocalInteger;LocalInteger=getInfo();LocalInteger+=q;putInfo(LocalInteger);class MyMultiThreadClass implements RunnableMyResourceClass UseInteger;MyMultiThreadClass(MyResourceClass mrc)UseInteger=mrc;public void run()for(int i=0;i100;i+)UseInteger. sumResource(50);public
14、class Class30public static void main(String args)MyResourceClass mrc=new MyResourceClass();Thread aThreadArray =new Thread 10;System. out. println(mrc. getInfo() ;System. out. println(“wait. “);for(int i=0;i10;i+)aThreadArrayi=new Thread(new MyMultiThreadClass(mrc);aThreadArrayi._;whileLoop;while (t
15、rue)for(int i=0;i10;i+)if(aThreadArrayi.isAlive() continue whileLoop;break;System. out. println(“jieguo=“+mrc.getInfo();(分数:4.00)填空项 1:_31.下面程序的功能在监控台上每隔一秒钟显示一个字符串“Hello !“ 。public class Class31 implements Runnablepublic static void main(String args)Class31 t=new Class31();Thread tt=new Thread(t);tt
16、.start();public void run()for(;)try_;catch(_) System. out. println(“Hello“);(分数:4.00)填空项 1:_五、程序分析题(总题数:5,分数:20.00)32.阅读下列程序,请写出该程序的功能。import java. awt.*;import javax. swing.*;public class Class32public static void main(String args)JFrame frame=new JFrame(“登录对话框“);TextField id=new TextField(12);Text
17、Field pw=new TextField(12);JButton login=new JButton(“登录“);JButton cancel=new JButton(“取消“);pw. setEchoChar(*);frame. setLayout(new GridLayout(3,2);frame. add(new JLabel(“ID:“,JLabel. RIGHT);frame. add(id);frame. add(new JLabel(“密码:“,JLabel. CENTER);frame. add(pw);frame. add(login);frame. add(cancel
18、);frame. pack();frame. setVisible(true);(分数:4.00)_33.阅读下列程序,请写出该程序的功能。import java. awt.*;import javax. swing.*;public class Class33public static void main(String args)throws ExceptionJFrame frame=new JFrame(“调制颜色“);JPanel pColor=new JPanel();JLabel lColor=new JLabel(“0,0,0“);pColor.setBackground(new
19、 Color(0,0,0);JScrollBar sRed=new JScrollBar(JScrollBar. HORIZONTAL,0,1,0,256);JScrollBar sGreen=new JScrollBar(JScrollBar. HORIZONTAL,0,1,0,256);JScrolIBar sBule=new JScrollBar(JScrollBar. HORIZONTAL,0,1,0,256);frame. setLayout(new GridLayout(5,1);frame. add(pColor);frame. add(lColor);frame. add(sR
20、ed);frame. add(sGreen);frame. add(sBule);frame. pack();frame. setVisible(true);Color col;int nRed,nGreen,nBule;while (true)nRed=sRed. getValue();nGreen=sGreen. getValue();nBule=sBule.getValue();col=new Color(nRed,n(nGreen,nBule);pColor. setBackground(col);lColor. setText(nRed+“,“+nGreen+“,“+nBule);T
21、hread. sleep(100);(分数:4.00)_34.阅读下列程序,请写出该程的功能。import java. io. *;public class Class34public static void main(String args)File inputFile=new File(“file1.txt“);File outputFile=new File(“file2. txt“);int ch;tryFileReader in=new FileReader(inputFile);FileWriter out=new FileWriter(outputFile);while(ch=i
22、n. read()!=-1)out.write(ch);in.close();out. close();catch(FileNotFoundException e1)System. out. println(“文件没有找到!“+e1);catch(IOException e2)System. out. println(“File read Error!“+e2);(分数:4.00)_35.阅读下列程序,请写出该程序的功能。import java. io.*;public class Class35public static void main(String args)tryRandomAcce
23、ssFile file=null;file=newRandom AccessFile(“Class35.java“,“r“);long fileCurPos=0;long fileLength=file.length();while(fileCurPosfileLength)String s=file. readLine();System. out. println(s);fileCurPos=file. getFilePointer();file. close();catch(FileNotFoundException e1)System.out.println(“文件找不到!“+e1);c
24、atch(IOException e2)Systemout. println(“文件读写错!“+e2);(分数:4.00)_36.阅读下面方法,并写出该方法的功能。public static Connection connectByJdbcOdbc(String url,String username,String password)Connection con=null;tryClass. forName(“sun.jdbc. odbc.JdbcOdbcDriver“);catch(Exception e)e.printStackTrace();return null;trycon=Driv
25、erManager.getConnection(url,username,password);catch(SQLException e)e. printStackTrace();return null;(分数:4.00)_六、程序设计题(总题数:2,分数:12.00)37.设计一个界面,有一个文本区和一个按钮。在文本区中输入数据,点击按钮后,将文本区中内容输出到文件中。要求文件通过文件保存对话框指定。(分数:6.00)_38.编写一个小应用程序先将(1).jpg(9).jpg 作为幻灯片读入数组存储,单击鼠标变换幻灯片,循环逐张显示。(分数:6.00)_Java 语言程序设计(一)自考题-4
26、答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:10,分数:10.00)1.在 java.awt.event 包中用来检测并对事件做出反应的模型不包括( )A源对象 B监视器对象C事件对象 D事件方法(分数:1.00)A.B.C.D. 解析:解析 主要考查的知识点为事件驱动程序设计相关概念。要点透析 在 Java.awt.event 包中用来检测并对事件做出反应的模型包括以下三个组成元素;(1)源对象:事件“发生”在这个组件上,它与一组“侦听”该事件的对象保持着联系。(2)监视器对象;是一个实现预定义接口的类的一个对象,该对象的类要提供对发生的事件作处理的方法。(3
27、)事件对象:它包含描述当事件发生时从源传递给监视器的特定事件的信息。2.在 Java 语言中,JPane1 是一种通用容器,它的默认布局为( )AFlowLayout BGridBagLayoutCCardLayout DGridLayout(分数:1.00)A. B.C.D.解析:解析 主要考查的知识点为面板及布局。要点透析 常用的布局类:FlowLayout 为依次放置组件;BorderLayout 将组件放置在边界上;CardLayout 将组件像扑克牌一样叠放,而每次只能显示其中的一个组件;GridLayout 将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中;Gr
28、idBagLayout 能进行更精细的位置控制。本题选择 A 项。3.在 Java 语言中,JTextField 类用来建立文本框,与文本框相关的接口是( )AActionListener BMouseListenerCWindowListener DItemListener(分数:1.00)A. B.C.D.解析:解析 主要考查的知识点为文本框及其接口。要点透析 与文本框相关的接口是 ActionListener,使用 addActionListener 为文本框设置动作监视器,指定 ActionListener 对象接收该文本框上发生的输入结束动作事件。4.在 Java 语言中,显示文字的
29、方法主要有三种,其中在指定位置显示字符串的方法是( )AdrawString() BdrawChars()CdrawBytes() DdrawStrings()(分数:1.00)A. B.C.D.解析:解析 本题主要考查的知识点为 Java 语言显示文字的方法。要点透析 (1)drawString(String str,int x,int y),在指定位置显示字符串。(2)drawChars(chardata,int offset,int length,int x,int y),在指定位置显示字符数组中的指定文字。(3)drawBytes(byte data,int offset,int le
30、ngth,int x,int y),在指定位置显示字节数组中的指定文字。5.在 Java 语言中,文字字型有三个要素,分别是( )A字体、字形和字号 B字形、颜色和字号C字体、风格和字号 D字体、字形和颜色(分数:1.00)A.B.C. D.解析:解析 主要考查的知识点为 Java 语言中文字字型的三要素。要点透析 文字字型有三个要素:字体、风格和字号。常用的字体有 Times New Roman、Symbol、宋体和楷体等。常用的风格有正常、粗体和斜体,分别用三个常量表示:Font.PLAIN、Font.BOLD 和Font.ITALIC,风格可以组合使用。字号是字的大小,单位是磅。6.有
31、Java 对象定义:Graphics g;,下面能画出一个圆的语句是( )Ag.drawOval(300,300,200,200); Bg.drawRect(300,300,200,200);Cg.drawOval(300,300,200); Dg.drawArc(300,300,200);(分数:1.00)A. B.C.D.解析:解析 主要考查的知识点为 Java 语言中画圆形的方法。要点透析 int x,int y,int width,int height)是画用线围成有椭圆形,其中参数 x 和 y 指定椭圆形左上角的位置,参数 width 和 height 是横轴和纵轴,要画圆形需要横轴
32、和纵轴相等。7.Java 语言的图像处理功能被封装在( )类中。APicture BImageCpicture Dimage(分数:1.00)A.B. C.D.解析:解析 主要考查的知识点为 Java 语言中的图像处理。要点透析 Java 语言支持 GIF、JPEG 和 BMP 三种主要图像文件格式。Java 语言的图像处理功能被封装在Image 类中。在 Java 程序中,图像也是对象,所以载入图像时,先要声明 Image 对象,然后利用getImage()方法把 Image 对象与图像文件联系起来。8.Java 语言支持的音频格式有多种,小程序要播放音频文件,可以使用的类是( )AAudi
33、oClip BAudioCClip DJava. Clip(分数:1.00)A. B.C.D.解析:解析 本题主要考查的知识点为 Jaya 语言播放音频文件。要点透析 Java 语言支持的音频格式有多种,小程序要播放音频文件,可使用类 AudioClip,该类在java.applet.AudioClip 类库中定义。9.为 Java 的 8 位字节流数据的读和写操作提供支持的类分别是( )AInput 类和 Output 类 BFileInputStream 类和 FileOutputStream 类CReader 类和 Writer 类 DFileReader 类和 FileWriter 类
34、(分数:1.00)A.B. C.D.解析:解析 主要考查的知识点为 Java 语言中的字符流和字节流。要点透析 为 Java 的 8 位字节流数据的读和写操作提供支持的类分别是 FileInputStream 类和FileOutputStream 类,它们分别是 InputStream 类和 OutputStream 类的子类;为 Java 的 16 位 Unicode字符流数据的读和写操作提供支持的类分别是 FileReader 类和 FileWriter 类,它们分别是 Reader 类和Writer 类的子类。10.在编写访问数据库的 Java 程序过程中,用来处理驱动程序的加载和建立新
35、数据库连接的类是( )AConnection 类 BStatement 类CDriverManager 类 DResultSet 类(分数:1.00)A.B.C. D.解析:解析 主要考查的知识点为访问数据库的 Java 程序涉及到的类。要点透析 Connection 类用于处理与特定数据库的连接:Statement 类用于在指定的连接中处理 SQL 语句;DriverManager 类处理驱动程序的加载和建立新数据连接;ResultSet 类用于处理 SQL 语句执行后的查询结果。二、填空题(总题数:10,分数:20.00)11. 1 布局是把容器内的空间简单地划分为东西南北中五个区域。(分
36、数:2.00)填空项 1:_ (正确答案:BorderLayout)解析:12.在 Java 语言中,创建一个菜单条对象 menuobj 的代码是_。(分数:2.00)填空项 1:_ (正确答案:JMenuBar menuobj=new JMenuBar();)解析:13.Java 语言为处理鼠标事件提供两个接口:MouseListener 接口和 1 接口。(分数:2.00)填空项 1:_ (正确答案:MouseMotionListener)解析:14.Java 语言中,实现 KeyListener 接口的方法有:keyPressed(KeyEvent e)、keyReleased(KeyE
37、vent e)和1。(分数:2.00)填空项 1:_ (正确答案:keyTyped(KeyEvent e))解析:15.在 Java 程序中有如下设置:setBackground(Color.blue);g.setXORMode(Color.red);g.setColor(Color.blue);g.drawLine(300,300,500,500);,则线的颜色是 1。(分数:2.00)填空项 1:_ (正确答案:红色)解析:16.当图像信息量较大时,采用直接显示的方法,可能会出现斑驳现象,为了提高显示效果,许多应用程序都采用 1 技术。(分数:2.00)填空项 1:_ (正确答案:图像缓冲
38、)解析:17.Java 语言中控制声音的播放有三个方法:play1、stop2 和 3。(分数:2.00)填空项 1:_ (正确答案:loop-|_|-)解析:18.线程在生命周期中要经历 5 种状态,分别是新建状态、就绪状态、运行状态、 1 状态和死亡状态。(分数:2.00)填空项 1:_ (正确答案:阻塞)解析:19.在 Java 程序中要设置打开文件对话框的文件筛选条件,应该继承 1 类,编写一个实现类,实现accept(File f)与 getDescription2 两个方法。(分数:2.00)填空项 1:_ (正确答案:FileFilter)解析:20.在 Java 语言中,服务器
39、端使用的套接字类是 1。(分数:2.00)填空项 1:_ (正确答案:ServerSocket)解析:三、简答题(总题数:6,分数:18.00)21.简述 Java 语言编写事件处理程序的主要方案。(分数:3.00)_正确答案:(1)-个是程序重设方法 handleEvent(Event evt)。(2)一个是程序实现一些系统设定的接口。)解析:22.简述 JDialog 类常用的构造方法。(分数:3.00)_正确答案:(1)JDialog(),构造一个初始不可见的非强制型对话框。(2)JDialog(JFrame f,String s),构造一个初始不可见的非强制型对话框,参数 f 设置对话
40、框所依赖的窗口,参数 s 用于设置标题。(3)JDialog(JFrame f,String s,boolean b),构造一个标题为 s,初始不可见的非强制型对话框,参数 f 设置对话框所依赖的窗口,参数 b 决定对话框是否强制型或非强制型。)解析:23.请写出一条语句,能够画一个三维矩形线框,已知矩形的左上顶点(100,200)和右下顶点(500,400),设调用的对象是 Craphics g。(分数:3.00)_正确答案:(g.draw3DRect(100,200,400,200,true);)解析:24.简述线程从阻塞状态恢复到就绪状态的途径。(分数:3.00)_正确答案:(1)自动恢
41、复(例如:sleep 时间到、I/O 操作完成)。(2)用 resume()方法恢复。(3)用 notify()或 notifyAll()方法通知恢复。)解析:25.对 Java 程序而言,输入/输出主要包括哪三个方面。(分数:3.00)_正确答案:(1)对外设通道的输入和输出。(2)对文件的读和写。(3)对网络数据的读和写。)解析:26.简述使用 Java 语言进行数据库操作,插入数据表记录的方案。(分数:3.00)_正确答案:(插入数据表记录有 3 种方案。(1)使用 Statement 对象。实现插入数据表记录的 SQL 语句的语法是:insert into 表名(字段名 1,字段名 2
42、,)value(字段值 1,字段值 2,)(2)使用 ResultSet 对象。使用 ResultSet 对象的方法 moveToInsertRow()将数据表游针移到插入位置,输入数据后,用方法 insertRow()插入记录。(3)使用 PrepareStatement 对象。与使用 Statement 对象的方法类似,只是创建 SQL 语句时,暂时用参数?表示值,然后由 SQL 语句对象生成 PrepareStatement 对象,插入时通过设定实际参数,实现记录的更新。)解析:四、程序填空题(总题数:5,分数:20.00)27.阅读并完成程序。public class Class27int m,n