Java全国自考历年试卷参考答案

上传人:非****1 文档编号:54115840 上传时间:2022-02-12 格式:DOCX 页数:322 大小:542.38KB
收藏 版权申诉 举报 下载
Java全国自考历年试卷参考答案_第1页
第1页 / 共322页
Java全国自考历年试卷参考答案_第2页
第2页 / 共322页
Java全国自考历年试卷参考答案_第3页
第3页 / 共322页
资源描述:

《Java全国自考历年试卷参考答案》由会员分享,可在线阅读,更多相关《Java全国自考历年试卷参考答案(322页珍藏版)》请在装配图网上搜索。

1、Java全国自考历年试卷(参考答 案)全国2009年1月Java语言程序设计试题一、单项选择题体大题共10小题,每小题1分, 共10分)L下列字符组合不能作为Java整型常量的是( )A.078 B.0x3ACBC.5000 D.0x3ABC2 .以下程序代码的输出结果是(int x = 10;while (x 7) System.out.print(n *n); x; )A.*B.*C*3 .设类U声明,及对象u和v的定义如下: class Uint x, int y;U(int a, int b)x= a; y = b;void copy(U a) x = a.x; y = a.y; )U

2、 u = new U(l, 2), v = new U(2, 3);在以下供选择的代码中,可能引起系统回收内存的是()A.u.x=v.y;u.y=v.x; B.u=v;C.u.copy(v); D.v.copy(u);4 .设有以下代码:String sl=n123n;String s2=ff123H;String s3=new String。,123);则表达式sl=s2和sl=s3的值分别是()A.true, true B.false , false C.true , falseD.false, true5 .以下关于AWT与Swing之间关系的叙述,正确的是()A.Swing是AWT的提

3、高和扩展B.在写GUI程序时,AWT和Swing不能同时使C.AWT和Swing在不同的平台上都有相同的表 示D.AWT中的类是从Swing继承的6 .在以下Swing组件中,能为它指定布局管理器 的是()A.JScrollBar 对象 B.JMenuBar 对 象 CJComboBox 对象 D.JDialog 对象7 .一般的绘图程序要定义一个JPanel子类。在 JPanel子类中还要重定义一个方法,在这个方法 中调用绘图方法,绘制各种图形。要重定义的方法是()A.paint() B.paintComponent() C.repaint()D.update()8 .用Runnable接口

4、实现多线程的主要工作是 ( )A.声明实现Runnable接口的类,在类内实现 niii()方法,让线程调用start。方法。B.声明实现Runnable接口的类,在类内实现 nm()方法,在类内声明线程对象,在init()方法 中创建新线程,启动新线程。C.声明实现Runnable接口的类,在类内实现 nm()方法,在类内声明线程对象,在init()方法 或star)方法中创建新线程,在start。方法中启 动新线程。D.声明实现Runnable接口的类,在类内实现 nm()方法,在init()方法中创建新线程,在start() 方法中启动新线程。9 .程序如果要按行输入输出文件的字符流,最

5、合理的方法是采用()A.BufferedReader 类和 Buffered Writer 类B.InputStream 类和 OutputStream 类C.FileReader 类 和 FileWriter 类D.File_Reader 类和 File_Writer 类10 .在编写访问数据库的Java程序中,要用到DriverManager类。该类的作用是()A.存储查询结果 B.处理与数据库的连接C.在指定的连接中处理SQL语句 D .处理驱动 程序的加载和建立数据库连接 二、填空题(本大题共10小题,每小题2分,共20分)HJava程序的字节码文件的扩展名是 .classo12 .构

6、造一个Java表达式:y / x5,并且x!=0。 这个表达式是 y/x5 & &x !=0 o13 .在类声明之前用final 修饰,声明类是不能被再继承的类,即它不能再有子类。14 .设有字符串定义:String s=nABCDABCDn;则表达式sindexOf(”B)的值是 1。15 .在实现接口 ActionListener 的方法 actionPerformed() 41,常用的有两个获得事件源 的方法,它们是 getActionCommand()和 getSource()。16 .使用单选按钮的方法是将一些单选按钮用ButtonGroup 对象分组,使同一组内的单选按钮只允许一个

7、被选中。17.在Java语言中,用类Font对象设置字型。如果要设置的字型是:细明体、正常风格13(FonLPLAIN), 12磅字号,构造这样要求的Font对象fnA 的代码是Fontf=newFont(Font.PL AIN”,细 明体,12);。18 .线程从阻塞状态恢复到就绪状态,有三种途 径:自动恢复、用resume。方法恢复和用 一notify。或 notifyAll()方法恢复。19 .为普通的8位字节流文件读和写操作提供支 持 的 类 是 _FileInputStream 和FileOutputStream_。20 .Connection类是java.sql包中用于处理与数 据

8、库连接的类。Connection对象是用来表示一 数据库连接的对象,Java程序对数据库的操 作都在这种对象上进行。三、简答题(本大题共6小题,每小题3分,共18分)21 .请写出表示year年是闰年的Java表达式。闰 年的条件是:每4年一个闰年,但每100年少一 个闰年,每400年又增加一个闰年。(year%4=0&year%100!=0 II(year%400=0)22 .请写出在类的方法的定义之前,加上修饰字 public private 的区别。public修饰的方法是共有的,其他类的方法都可 以访问;而private修饰的方法是私有的,其他 类都不能访问。23 .请写出将文本区te

9、xt放置于滚动面板jsp,并 将滚动面板jsp添加到JFrame窗口 my Frame的Java语句。JTextArea text=new JTextArea();JScrollPane jsp=new JScrollPane(text); myF rame.getContentPane().add(jsp);24 .要用Graphics2D类的方法画一个图形,首先 要把参数对象g强制转换成Graphics2D对象; 然后,用图形类提供的静态方法Double。创建一 个图形对象;最后,以图形对象为参数调用 Graphics2D对象的draw。方法绘制这个图形。请写出用这样的方法绘制一条线段的程

10、序段,线 段的两个端点分别是(10.0, 10.0)和(30.0, 30.0)oGraphics2D g2d=(Graphics2D)g;Line2DIine=newLine2D.Double(10.0,100,30.0,30.0);g2dedraw(line);25 .请写出字符流数据与字节流数据的区别o 字符流数据每次读写的单位是一个字符,即16 位;字节流数据每次读写的单位是一个字节,即 8位。26 .请写出URLConnection类在编写Java网络 应用程序中的作用。URLConnection的作用是建立网络资源的连接,用于发送和接收信息。四、程序填空题(本大题共5小题,每小题4分

11、, 共20分)27方法int sigmaDigit(int n)的功能是求出十进制整数n的各位数字之和。例如,n=1234,该方 法的返回值是10。static int sigmaDigit( int n ) int sum = 0, d;while( n 0 )d=n% 10;sum=sum+dn/=10;return sum28 .以下小应用程序能响应鼠标按动的事件,当鼠标在正文区的某个位置被点击时,就在该位置 个位置。显示一个记号“X”,程序限制最多保留最新20import java.applet.*; import java.awt.*;import javax.swing.*; im

12、port java.awt.event.*;class MyPanel extends JPanel public void print(Graphics g, int x, int y)(g.setColor(Color.red);g.drawLine(x-59 y5, x+5, y+5);g.drawLine(x+5, y5,y+5);)class MyWindow extends JFrame implements MouseListenerfinal int MaxMarks = 20;int currentMarks = 0, markCount = 0;Point marks =

13、new PointMaxMarks;MyPanel panel;MyWindow()this.setLocation(100,100);this.setSize(300, 300);Container con = this.getContentPane();panel = new MyPanel(); con.add(panel);paneLaddMouseListeiier(this);this.setVisible(true);)public void paint(Graphics g)int i;g.clearRect(0,0,this.getWidth()9this.getHeight

14、();for(i =0;i getHeight(this)9 this);)31 .以下定义的类ShareData用于管理多个线程 共享数据valo为了保证对共享数据val修改的 完整性,线程对val的操作需要互斥,类ShareData中定义的方法modiData()就是供共享 val的线程修改val的方法。程序共有20个线程 共享val,有些减少val,有些增加val。public class Classi public static void main(String args)ShareData mrc = new ShareData(50);Thread aThreadArray = n

15、ewThread20;System.out.println(Ht刚开始的值是:+mrc.get Val();System.out.println(Ht 多个线程正在工作,请稍等!);for(int i = 0; i 20; i+) int d = i % 2 = 0 ? 50 : -30;aThreadArrayi = new Thread(new MyMultiThreadClass(mrc, d);aThread Array i.start();)WhileLoop :等待所有线程结束 while(true)for(int i = 0; i 20; i+) if(aThreadArrayi

16、. _ isAlive ()continue WhileLoop;break;)System.out.println(1 ft 最后的结果是: n+mrc.getVaI();)class MyMultiThreadClass implementsRunnable ShareData Uselnteger; int delta;MyMultiThreadClass(ShareData mrc, int d) (Uselnteger = mrc; delta = d;public void run() for(int i = 0; i 1000; i+) Uselnteger.modiData(d

17、elta);try Thread.sleep(lO);做一些其他的处理catch(InterruptedException e)class ShareData int val;ShareData(int initValue)val = initValue; int getVal()return val;private void putVal(int v)val = v;_synchronized_ void modiData(int d) putVaI(getVal() + d);)五、程序分析题(本大题共5小题,每小题4分, 共20分)32 .阅读下列程序,请写出该程序的输出结果。class

18、 A int x, y;A(int a, int b) x= a;y= b; )public class sample public static void main(String args) A pl, p2;p2 = new A(12,15);pl =p2;p2.x+;System.out.println(np 1 .x=11 + pl .x);) pl.x=13请写出调用pascal(4)的输出33 .阅读下列程序, 结果。static void pascal(int n) int pas; pas = new intn;pas0 = 1;Sy stem.out.println(pas

19、0);for (int i = 2; i 0; j-) pas。= pasj + pasj -1 ;i; j+)for (int j = 0; j System.out.print(pasj + n);System.ouLprintln();) )1 11 2 113 3 134 .阅读下列程序,请用示意图画出程序运行时 呈现的界面。import java.applet.*;import java.awt *;import javax. swing.*;class MyPanel extends JPanel JButton button; JLabel label;MyPanel(Strin

20、g si, String s2) this.setLayout(new GridLayout(2, 2); button = new JButton(sl);label = new JLabel(s2, JLabel.CENTER);add(button);add(label);add(new JLabel(); )public class Classi public static void main(String args) JFrame mw = new JFrame(一个示意 窗口”);mw.setSize(400,250);Container con = mw.getContentPa

21、ne();con.setLayout(new BorderLayout();MyPanel panel panel2;panell = new MyPanel(按钮 1 J标 签 ln);pane12 = new MyPanel(按钮 21 标 签 2”);JButton button = new JButton(开始 按钮”);con.add(panell,Northn);con.add(panel2, HSouth);con.add(button, nCentern); mw.setVisible(true);)35 .阅读下列程序,请回答以下问题:程序要求在文本框text中输入的内容是什

22、么?网址辅助文本区showArea组件的作用是什么?显示下载的文件内容(3)如何使程序开始下载网络文本文件?在文本框中输入网址后点击“下载”按钮程序采用什么输入方式下载网络文件?缓冲式import 产;import java.awt.*;importjava.awt. event.*;import java. io* ;import javax. swing.* ;public class Class 1public static void main(String args) new ConnectNet(读取网络文本文件示意程序D; )class ConnectNet extends JF

23、rameimplements ActionListenerJTextField text=new JTextField(30);JTextArea showArea=new JTextArea();JButton b=new JButton(下载);JPanel p=new JPanel();ConnectNet(String s)super(s);Containercon=this.getContentPane();p.add(text) ; p.add(b);JScrollPanejsp=newJScrollPane(showArea);b.addActionListener(this);

24、con.add(p , North) ; con.addQsp , nCentern);setDefaultCloseOperation(JFrame.EXIT_ON_C LOSE);setSize(500, 400) ; setVisible(true);)e)public void actionPerformed(ActionEventString urlName=text.getText();try URL url=new URL(urlName); 由网址创建URL对象URLConnection tc=url.openConnection();获得 URLConnection 对象tc

25、.connect(); 设置网络连接InputStreamReaderin=newInputStreamReader(tc.getInputStream();BufferedReaderdis=newBufferedReader(in) ; String inLine ;while(inLine=dis.readLine()!=null) sho w Area. append(inLine+n nn); dis.close();catch(MalformedURLException e2)e2.printStackTrace() ; catch(IOExceptione3) e3.printS

26、tackTrace() ; )36.阅读下列程序,请写出该程序的功能。import java.applet.; import java.awt.*;public class Classi extends java.applet.Appletimplements Runnable Thread myThread = null;public void start() setSize(500, 400);if (myThread = null) myThread = new Thread(this); myThread.start();)public void run() while (myThre

27、ad != null) try myThread.sleep(500);catch (InterruptedException e) repaint();)public void paint(Graphics g) int x = (int)(400*Math.random();int y = (int)(300*Math.random();g.setColor(Color.red);g.fillOval(x,y, 10,10);在400*300的矩形区域中,随机绘制直径为10 的红色圆。六、程序设计题(本大题共2小题,每小题6分,共12分)37 .编写数组复制方法。该方法从已知平衡的两 维数

28、组的左下角复制出一个非平衡的三角二维 数组。设复制数组方法的模型为:publicstaticdoubleleftDownConer(doubleanArray))38 .设计实现以下形式布局的Java小应用程序。学号 j姓名 考试成.平时成. 匚二二二一二二注1:其中空白格是文本框,用于输入对应的内 容。注2:这里给出的是程序的一部分,你要编写的 是方法 MyWindow(String s)oimport java.applet.* ;import javax.swing.* ;import java.awt.* ;class MyWindow extends JFrameJTextField

29、 textl, text2, text3, text4; public MyWindow(String s)这个方法是你要编写的super (s);Containercon=this.getConteiitPaiie();获得内容面板con.setLayout(new GridLayout(2,4);/ 布局2行4列con.add(new JLabel(u 学号”,JLabeLCENTER);/加载标签textl=newJTextField();con.add(text 1);创建并力里;文本框59con.add(new JLabelf6 姓 名 5JLabeLCENTER); text2=n

30、ewJTextField();con.add(text2); con.add(new JLabel(u 考试成 绩”,JLabeLCENTER);text3=newJTextField();con.add(text3);con.add(new JLabel(u 平时成 绩”,JLabeLCENTER);text4=newJTextField();con.add(text4);this.pack();)public class Classi extends AppletMyWindow my Window;public void init() myWindow=new MyWindow(n 一个

31、小应用程序n);)全国2009年10月Java语言程序设计试题 一、单项选择题(本大题共10小题,每小题1 分,共10分)1.下面供选字符序列中,不属于Java语言关键字的是()A. goto B. null C. false D. native int x=73; System.out.println (xl);2.以下程序代码的输出结果是(A. 36 B. 36.5 C. 37 D. true3 . Java语言中,在类定义时用final关键字修饰, 是指这个类()A.不能被继承B.在子类的方法中不能被调用C.能被别的程序自由调用D.不能被子类的方法覆盖4 .以下是关于字符串运算的代码,执

32、行该代码段的输出结果是(String =0123456789, si, s2;sl=s.substring ( 2 ) ; s2=s.substring ( 2, 5 );System.out.println (sl+s2);A. 0122345 B. 234567892345 C. 012234D. 234567892345 .以下是关于FlowLayout布局组件排列顺序的 叙述,正确的是()A.从上到下排列B.从左到右排列 C.从下到上排列D.从右到左排列6 .程序执行方法showOpenDialog(),能打开“打开文件对话框”,如果该方法的返回值是JFileChooser.APPRO

33、VE_OPTION,则用户执行的动作是()A.对话框非正常关闭B.按下“打开/保存” 按钮C.按下“撤销”按钮D.重新输入了一个文件 名7 .设已经有 Graphics2D 对象 g2d, Rectangle2D对象r,绘制对象r的代码是(A . g2d.draw ( r ) B. g2d.drawRect ( r )C. r.draw () D. r.drawRect ()能让线程从阻塞状( )C resume ()不能用于文件随机8 .在以下供选择的方法中, 态恢复到就绪状态的方法是 A. start () B. init () D. run ()9 .在以下供选择的方法中,访问的方法是(

34、)A . readChar ( )B . readLong ()C. readinteger ()D. writeChars ()10 .某程序利用网址参数创建URL对象url,接着希望利用对象url获得URLConnection对象, 则这个url对象要调用的方法是(A . connection() B . URLConnection() C getConnection() D. openConnection() 二、填空题(本大题共10小题,每小题2分, 共20分)11 . 一个应用程序必须在某个类中定义的方法是主方法 /public static void main(Stringa rg

35、s)o12 . import语句的格式是import包名.类名13 .在面向对象语言中,对象之间的交互通过一 消息实现。14 .设有两个字符串对象strl和str2,则表达式 “trl=str2”的意义是判别字符串strl和str2 是否有相同的引用(或者说“是否是同一个字符 串”)。15 . 一个基于Swing的应用程序可能在任何平台上都会有相同的外观和风格。16 .处理键盘事件的Java程序,要实现的接口是KeyListener。17 . Java语言约定,坐标原点位于绘图区域的左上角O18.Java程序中,在临界段中使用wait()方法,使执行该方法的线程等待。19 . Buffered

36、Writer类对象能按行输入文件的内容,按行输入的方法是_readLineO。20 .在包中有InetAddress类的定义, Java程序中的InetAddress类对象存储的内容是 IP地址和域名O三、简答题(本大题共6小题,每小题3分,共18分) if(x=0) y=x; else y=x*(l);21.请写出实现计算y=bd的if语句。22.以下代码定义了一个类,请指出其中三条不合法的代码行(行号参见注释)。class Test22 /I float u; static float v; /2static void setUV (boolean f) 3u=facl (f);/4v=f

37、ac2 (If); /5static float facl (boolean f) return f?u:v; 6float fac2 ( boolean f ) return f?v:u; /7/823.在 java.awt.event 中,用来检测并对事件做出反应的模型涉及三种对象。请写出这三种对 象。源对象、事件对象和监视器对象24 .写出设置Font对象fn的Java语句,要求Courier字体,BOLD风格,18磅字号,设调用对象的类型为Graphics的goFont fn=new Font(uCourier9FonLBOLD48);gesetFoiit(fn);25 .通过流的构造

38、方法建立文件流对象,请写出创建输入输出文件流对象的两种常用构造方法。File f=new File(ttxt);Fileinputsteamfi=new FilelnputStream(f);或者FilelnputSteamfi=newFileInputStream(ut.txt);fo=newFileOutputStreamFileOutputStreamLtxC);26 .当Client程序和Server程序需要通信时,可以用Socket类建立套接字连接,请写出双方 实现通信的两种方式。流式socket和数据报式socket 四、程序填空题(本大题共5小题,每空2分, 共20分)27 .方

39、法 int sigmaEvenNum (inta)的功能是 求已知数组中偶数的个数。static int sigmaEvenNum (int a) int s =0;for ( int i=0;ia.length;i+ ) if (_ai%2=0) s+;return s;)28 .某小应用程序窗口包含有文本区dispArea, 以及一个带文字“追加”的按钮。当点击这个按钮 时,程序弹出一个输入信息的对话框,并将对话 框中输入的内容追加到文本区中。以下是其中相应“追加”按钮事件的方法。public void actionPerformed (ActionEvent e) if (e.getAc

40、tionCommand().equals (追加 )String result= ( String )J OptionPane.sho wlnputDialog ( mill J 请输入信 息”,”输 入 对 话 框n JOptionPane.PLAIN_MESSAGE,null,null9null);dispArea.append ( result +);29 .以下程序段是选择项目事件处理程序的样例,一个由3个单选按钮组成的选择组被定义为 一个面板子类Panel,当某个按钮被选中时,按 钮监视程序在类MyWindow的一个文本框中输 出某个按钮被选中的字样。以下是类Panel的定 义。cl

41、ass Panel extends JPanel implementsItemListenerstatic JRadioButton box;ButtonGroup g;Panel ( String radioNameList) box=new JRadioButtonradioNameList.length; setLayout ( new GridLayout (1,radioNameList.length); g=new ButtonGroup ();for (int i=0;iradioNameList.iength; i+) boxi=newJRadioButton(radioNam

42、eListi_,false );g.add(boxi) ;add(boxi) ;boxi.addltemListener (this);) ) public void itemStateChanged (ItemEvent e ) for (int i = 0; i = 0) putData (getData ( ) + delta); else while ( _getData()+delta_0 ) try wait ( ) ; catch (InterruptedException e) () )putData (getData () + delta);) notify A1I();)五

43、、程序分析题(本大题共5小题,每小题4分, 共20分)32.阅读下列程序,请写出该程序的输出结果。class Tree private String name;public boolean flower; public int birthYear;Tree (String n9 boolean f, int y) name = n; flower = f; birthYear = y; public void setName (String n) name = n; public String getName ( ) return name; public void printTree (St

44、ring str) System.out.println (str) ; System.out.println (nName:H+name);System.out.println ( nBirth Year:H+birthYear); System.out.println ( nFlower:H+flower); ) ) class PineTree extends Tree public boolean coniferous = true;PineTree (String n, boolean f, int y, boolean c ) super (n, f, y) ;coniferous

45、 = c; public void printTree (String str) super; printTree (str);System.out.println (n Coniferous:n+coniferous);)class Test32 public static void main ( String args) Tree fOb = new Tree (May Flower1 true, 1980);PineTree sOb = new PineTree (Pine”, false, 2000, true);fOb.printTree ( n fOb:n ) ; sOb.prin

46、tTree (nsOb:n);)fOb:Name: May FlowerBirth Year: 1980Flower: truesOb:Name: PineBirth Year:2000Flower:falseConiferous: true33 .阅读下列程序,请写出该程序的输出结果。class Test33 static void s (int b , int k) int ij,t;for (i = l;i= 0 & t bj; j-) bU+I = bj; bU+l = t;) )public static void main (String args) inti, a = 6,12, 7,11,5);s (a, 5);for (i = 0;iaddactionaddquit = newJMenuItem O退出);actionaddshow.addActionListenerseteaddActionListenerquit(this )(thisquit.addActionListener (this )

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!