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

上传人:小**** 文档编号:140927625 上传时间:2022-08-23 格式:DOCX 页数:120 大小:1.14MB
收藏 版权申诉 举报 下载
Java全国自考历年试卷(参考答案)_第1页
第1页 / 共120页
Java全国自考历年试卷(参考答案)_第2页
第2页 / 共120页
Java全国自考历年试卷(参考答案)_第3页
第3页 / 共120页
资源描述:

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

1、全国2009年1月Java语言程序设计试题一、单项选择题(本大题共10小题,每小题1分,共10分)1.下列字符组合不能作为Java整型常量的是()A.078B.0x3ACBC.5000D.0x3ABC2.以下程序代码的输出结果是()intx=10;while(x7)System.out.print(*);x-;A.*B.*C.*D.*3.设类U声明,及对象u和v的定义如下:classUintx,inty;U(inta,intb)x=a;y=b;voidcopy(Ua)x=a.x;y=a.y;Uu=newU(1,2),v=newU(2,3);在以下供选择的代码中,可能引起系统回收内存的是()A.

2、u.x=v.y;u.y=v.x;B.u=v;C.u.copy(v);D.v.copy(u);4.设有以下代码:Stringsl=123;Strings2=123;Strings3=newString(123);则表达式s1=s2和s1=s3的值分别是()A.true,trueB.false,falseC.true,falseD.false,true5.以下关于AWT与Swing之间关系的叙述,正确的是()A.Swing是AWT的提高和扩展B.在写GUI程序时,AWT和Swing不能同时使用C.AWT和Swing在不同的平台上都有相同的表示D.AWT中的类是从Swing继承的6.在以下Swing

3、组件中,能为它指定布局管理器的是()A.JScrollBar对象B.JMenuBar对象C.JComboBox对象D.JDialog对象7.一般的绘图程序要定义一个JPanel子类。在JPanel子类中还要重定义一个方法,在这个方法中调用绘图方法,绘制各种图形。要重定义的方法是()A.paint()B.paintComponent()C.repaint()D.update()8.用Runnable接口实现多线程的主要工作是()A.声明实现Runnable接口的类,在类内实现run()方法,让线程调用start()方法。B.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线

4、程对象,在init()方法中创建新线程,启动新线程。C.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在init()方法或start()方法中创建新线程,在start()方法中启动新线程。D.声明实现Runnable接口的类,在类内实现run()方法,在init()方法中创建新线程,在start()方法中启动新线程。9.程序如果要按行输入输出文件的字符流,最合理的方法是采用()A.BufferedReader类和BufferedWriter类B.InputStream类和OutputStream类C.FileReader类和FileWriter类D.File_

5、Reader类和File_Writer类精选10.在编写访问数据库的Java程序中,要用到DriverManager类。该类的作用是()A.存储查询结果B.处理与数据库的连接C.在指定的连接中处理SQL语句D.处理驱动程序的加载和建立数据库连接二、填空题(本大题共10小题,每小题2分,共20分)11.Java程序的字节码文件的扩展名是_.class_。12.构造一个Java表达式:yx5,并且x!=0。这个表达式是_y/x5&x!=0_。13.在类声明之前用_final_修饰,声明类是不能被再继承的类,即它不能再有子类。14.设有字符串定义:Strings=ABCDABCD;则表达式s.ind

6、exOf(B)的值是_1_。15.在实现接口ActionListener的方法actionPerformed()中,常用的有两个获得事件源的方法,它们是getActionCommand()和_getSource()_。16.使用单选按钮的方法是将一些单选按钮用_ButtonGroup_对象分组,使同一组内的单选按钮只允许一个被选中。”,17.在Java语言中,用类Font对象设置字型。如果要设置的字型是:细明体、正常风格(Font.PLAIN),12磅字号,构造这样要求的Font对象fnA的代码是_Fontf=newFont(“Font.PLAIN细明体,12);_。18.线程从阻塞状态恢复到

7、就绪状态,有三种途径:自动恢复、用resume()方法恢复和用_notify()或notifyAll()_方法恢复。19.为普通的8位字节流文件读和写操作提供支持的类是_FileInputStream和FileOutputStream_。20.Connection类是java.sql包中用于处理与数据库连接的类。Connection对象是用来表示_数据库连接_的对象,Java程序对数据库的操作都在这种对象上进行。三、简答题(本大题共6小题,每小题3分,共18分)21.请写出表示year年是闰年的Java表达式。闰年的条件是:每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。(y

8、ear%4=0&year%100!=0|(year%400=0)22.请写出在类的方法的定义之前,加上修饰字public、private的区别。public修饰的方法是共有的,其他类的方法都可以访问;而private修饰的方法是私有的,其他类都不能访问。23.请写出将文本区text放置于滚动面板jsp,并将滚动面板jsp添加到JFrame窗口myFrame的Java语句。JTextAreatext=newJTextArea();JScrollPanejsp=newJScrollPane(text);myFrame.getContentPane().add(jsp);24.要用Graphics2

9、D类的方法画一个图形,首先要把参数对象g强制转换成Graphics2D对象;然后,用图形类提供的静态方法Double()创建一个图形对象;最后,以图形对象为参数调用Graphics2D对象的draw()方法绘制这个图形。请写出用这样的方法绘制一条线段的程序段,线段的两个端点分别是(10.0,10.0)和(30.0,30.0)。Graphics2Dg2d=(Graphics2D)g;Line2Dline=newLine2D.Double(10.0,10.0,30.0,30.0);g2d.draw(line);25.请写出字符流数据与字节流数据的区别。字符流数据每次读写的单位是一个字符,即16位;

10、字节流数据每次读写的单位是一个字节,即8位。精选26.请写出URLConnection类在编写Java网络应用程序中的作用。URLConnection的作用是建立网络资源的连接,用于发送和接收信息。四、程序填空题(本大题共5小题,每小题4分,共20分)27.方法intsigmaDigit(intn)的功能是求出十进制整数n的各位数字之和。例如,n=1234,该方法的返回值是10。staticintsigmaDigit(intn)intsum=0,d;while(n0)d=n%10;sum=sum+d;n/=10;returnsum;,”28.以下小应用程序能响应鼠标按动的事件,当鼠标在正文区的

11、某个位置被点击时,就在该位置显示一个记号“程序限制最多保留最新20个位置。importjava.applet.*;importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;classMyPanelextendsJPanelpublicvoidprint(Graphicsg,intx,inty)(g.setColor(Color.red);g.drawLine(x-5,y-5,x+5,y+5);g.drawLine(x+5,y-5,x-5,y+5);classMyWindowextendsJFrameimplementsMouseLi

12、stenerfinalintMaxMarks=20;intcurrentMarks=0,markCount=0;Pointmarks=newPointMaxMarks;MyPanelpanel;MyWindow()this.setLocation(100,100);this.setSize(300,300);Containercon=this.getContentPane();panel=newMyPanel();con.add(panel);panel.addMouseListener(this);this.setVisible(true);publicvoidpaint(Graphicsg

13、)inti;g.clearRect(0,0,this.getWidth(),this.getHeight();for(i=0;imarkCount;i+)panel.print(g,marksi.x,marksi.y);精选publicvoidmousePressed(MouseEvente)publicvoidmouseReleased(MouseEvente)publicvoidmouseEntered(MouseEvente)publicvoidmouseExited(MouseEvente)publicvoidmouseClicked(MouseEvente)markscurrentM

14、arks=newPoint(e.getX(),e.getY();if(markCountMaxMarks)markCount+;currentMarks=(currentMarks+1)%MaxMarks;repaint();publicclassClass1extendsAppletpublicvoidinit()MyWindowmyWndow=newMyWindow();29.这是一个处理选择项目事件的子窗口类。窗口中有2个选择框,当选中某个选择框时,文本框将显示选择框对应的信息。classMyWindowextendsJFrameimplementsItemListenerJTextFi

15、eldtext;JCheckBoxboxl,box2;MyWindow(Strings)super(s);Containercon=this.getContentPane();this.setLocation(100,100);this.setSize(400,200);text=newJTextField(10);box1=newJCheckBox(A计算机,false);box2=newJCheckBox(B计算机,false);con.setLayout(newGridLayout(3,2);con.add(newJLabel(计算机产品介绍,JLabel.CENTER);add(new

16、JLabel(计算机2选1,JLabel.CENTER);con.add(box1);con.add(box2);con.add(text);box1.addItemListener(this);box2.addItemListener(this);this.setVisible(true);this.pack();publicvoiditemStateChanged(ItemEvente)if(e.getItemSelectable()=box1)text.setText(A公司生产);elseif(e.getItemSelectable()=box2)text.setText(B公司生产)

17、;30.这是一个播放幻灯片的小应用程序中的paint()方法。设幻灯片已由小应用程序的init()方精选法装入内存,并存放于myImage数组中,幻灯片的张数放于变量num中,paint()方法要播放的幻灯片号是intcurrentImage=0;finalintnum=30;ImagemyImage=newIamgenum;publicvoidpaint(Graphicsg)if(mylmagecurrentImage)!=null)g.drawImage(myImagecurrentImage,10,10,myImagecurrentImage.getWidth(this),myImage

18、currentImage.getHeight(this),this);31.以下定义的类ShareData用于管理多个线程共享数据val。为了保证对共享数据val修改的完整性,线程对val的操作需要互斥,类ShareData中定义的方法modiData()就是供共享val的线程修改val的方法。程序共有20个线程共享val,有些减少val,有些增加val。publicclassClass1publicstaticvoidmain(Stringargs)ShareDatamrc=newShareData(50);ThreadaThreadArray=newThread20;System.out.

19、println(t刚开始的值是:+mrc.getVal();System.out.println(t多个线程正在工作,请稍等!);for(inti=0;i20;i+)intd=i%2=0?50:-30;aThreadArrayi=newThread(newMyMultiThreadClass(mrc,d);aThreadArrayi.start();WhileLoop:/等待所有线程结束while(true)for(inti=0;i20;i+)if(aThreadArrayi.isAlive()continueWhileLoop;break;System.out.println(t最后的结果是

20、:+mrc.getVal();classMyMultiThreadClassimplementsRunnableShareDataUseInteger;intdelta;MyMultiThreadClass(ShareDatamrc,intd)UseInteger=mrc;delta=d;publicvoidrun()for(inti=0;i1000;i+)UseInteger.modiData(delta);tryThread.sleep(10);/做一些其他的处理catch(InterruptedExceptione)精选classShareDataintval;ShareData(int

21、initValue)val=initValue;intgetVal()returnval;privatevoidputVal(intv)val=v;synchronizedvoidmodiData(intd)putVal(getVal()+d);五、程序分析题(本大题共5小题,每小题4分,共20分)32.阅读下列程序,请写出该程序的输出结果。classAintx,y;A(inta,intb)x=a;y=b;publicclasssamplepublicstaticvoidmain(Stringargs)Apl,p2;p2=newA(12,15);p1=p2;p2.x+;System.out.p

22、rintln(p1.x=+p1.x);p1.x=1333.阅读下列程序,请写出调用pascal(4)的输出结果。staticvoidpascal(intn)intpas;pas=newintn;pas0=1;System.out.println(pas0);for(inti=2;i0;j-)pasj=pasj+pasj-1;for(intj=0;j1);A36B36.5C37Dtrue3Java语言中,在类定义时用final关键字修饰,是指这个类()A不能被继承B在子类的方法中不能被调用C能被别的程序自由调用D不能被子类的方法覆盖4以下是关于字符串运算的代码,执行该代码段的输出结果是()Str

23、ings=0123456789,sl,s2;sl=s.substring(2);s2=s.substring(2,5);System.out.println(s1+s2);A0122345B234567892345C012234D234567892345以下是关于FlowLayout布局组件排列顺序的叙述,正确的是()A从上到下排列B从左到右排列C从下到上排列D从右到左排列6程序执行方法showOpenDialog(),能打开“打开文件对话框”,如果该方法的返回值是JFileChooser.APPROVE_OPTION,则用户执行的动作是()A对话框非正常关闭B按下“打开保存”按钮C按下“撤销

24、”按钮D重新输入了一个文件名7设已经有Graphics2D对象g2d,Rectangle2D对象r,绘制对象r的代码是()Ag2d.draw(r)Bg2d.drawRect(r)Cr.draw()Dr.drawRect()8在以下供选择的方法中,能让线程从阻塞状态恢复到就绪状态的方法是()Astart()Binit()Cresume()Drun()9在以下供选择的方法中,不能用于文件随机访问的方法是()AreadChar()BreadLong()CreadInteger()DwriteChars()10某程序利用网址参数创建URL对象url,接着希望利用对象url获得URLConnection

25、对象,则这个url对象要调用的方法是()Aconnection()BURLConnection()CgetConnection()DopenConnection()二、填空题(本大题共10小题,每小题2分,共20分)11一个应用程序必须在某个类中定义的方法是_主方法/publicstaticvoidmain(Stringargs)_。12import语句的格式是_import包名.类名_。13在面向对象语言中,对象之间的交互通过_消息_实现。14设有两个字符串对象str1和str2,则表达式“strl=str2”的意义是判别字符串strl和str2_是否有相同的引用(或者说“是否是同一个字符串

26、”)_。15一个基于Swing的应用程序可能在任何平台上都会有相同的_外观和风格_。16处理键盘事件的Java程序,要实现的接口是_KeyListener_。17Java语言约定,坐标原点位于绘图区域的_左上角_。18Java程序中,在临界段中使用_wait()_方法,使执行该方法的线程等待。19BufferedWriter类对象能按行输入文件的内容,按行输入的方法是_readLine()_。20在包中有InetAddress类的定义,Java程序中的InetAddress类对象存储的内容是_IP地址和域名_。精选三、简答题(本大题共6小题,每小题3分,共18分)21请写出实现计算y=|x|的

27、if语句。if(x=0)y=x;elsey=x*(-1);。22以下代码定义了一个类,请指出其中三条不合法的代码行(行号参见注释)classTest22/1floatu;staticfloatv;/2staticvoidsetUV(booleanf)/3u=fac1(f);/4v=fac2(!f);/5staticfloatfacl(booleanf)returnf?u:v;/6floatfac2(booleanf)returnf?v:u;/7/823在java.awt.event中,用来检测并对事件做出反应的模型涉及三种对象。请写出这三种对象。源对象、事件对象和监视器对象24写出设置Font

28、对象fn的Java语句,要求Courier字体,BOLD风格,18磅字号,设调用对象的类型为Graphics的g。Fontfn=newFont(“Courier”,Font.BOLD,18);g.setFont(fn);25通过流的构造方法建立文件流对象,请写出创建输入输出文件流对象的两种常用构造方法。Filef=newFile(“t.txt”);FileInputSteamfi=newFileInputStream(f);或者FileInputSteamfi=newFileInputStream(“t.txt”);FileOutputStreamfo=newFileOutputStream(

29、“t.txt”);26当Client程序和Server程序需要通信时,可以用Socket类建立套接字连接,请写出双方实现通信的两种方式。流式socket和数据报式socket四、程序填空题(本大题共5小题,每空2分,共20分)27方法intsigmaEvenNum(inta)的功能是求已知数组中偶数的个数。staticintsigmaEvenNum(inta)ints=0;for(inti=0;_ia.length_;i+)if(_ai%2=0_)s+;returns;28某小应用程序窗口包含有文本区dispArea,以及一个带文字“追加”的按钮。当点击这个按钮时,程序弹出一个输入信息的对话框

30、,并将对话框中输入的内容追加到文本区中。以下是其中相应“追加”按钮事件的方法。publicvoidactionPerformed(ActionEvente)if(e._getActionCommand()_.equals(追加)Stringresult=(String)JOptionPane.showInputDialog(null,请输入信息,精选输入对话框,JOptionPane.PLAIN_MESSAGE,null,null,null);dispArea._append_(result+);29以下程序段是选择项目事件处理程序的样例,一个由3个单选按钮组成的选择组被定义为一个面板子类Pa

31、nel,当某个按钮被选中时,按钮监视程序在类MyWindow的一个文本框中输出某个按钮被选中的字样。以下是类Panel的定义。classPanelextendsJPanelimplementsItemListenerstaticJRadioButtonbox;ButtonGroupg;Panel(StringradioNameList)box=newJRadioButtonradioNameList.length;setLayout(newGridLayout(1,radioNameList.length);g=newButtonGroup();for(inti=0;iradioNameLis

32、t.length;i+)boxi=newJRadioButton(_radioNameListi_,false);g.add(boxi);add(boxi);boxi.addItemListener(this);publicvoiditemStateChanged(ItemEvente)for(inti=0;i=0)putData(getData()+delta);elsewhile(_getData()+delta_0)trywait();catch(InterruptedExceptione)putData(getData()+delta);_notifyAll();_;五、程序分析题(本

33、大题共5小题,每小题4分,共20分)32阅读下列程序,请写出该程序的输出结果。classTreeprivateStringname;publicbooleanflower;publicintbirthYear;Tree(Stringn,booleanf,inty)name=n;flower=f;birthYear=y;publicvoidsetName(Stringn)name=n;publicStringgetName()returnname;publicvoidprintTree(Stringstr)System.out.println(str);System.out.println(Na

34、me:+name);System.out.println(BirthYear:+birthYear);System.out.println(Flower:+flower);classPineTreeextendsTreepublicbooleanconiferous=true;PineTree(Stringn,booleanf,inty,booleanc)super(n,f,y);coniferous=c;publicvoidprintTree(Stringstr)super,printTree(str);System.out.println(Coniferous:+coniferous);c

35、lassTest32publicstaticvoidmain(Stringargs)TreefOb=newTree(MayFlower,true,1980);PineTreesOb=newPineTree(Pine,false,2000,true);fOb.printTree(fOb:);sOb.printTree(sOb:);精选fOb:Name:MayFlowerBirthYear:1980Flower:truesOb:Name:PineBirthYear:2000Flower:falseConiferous:true33阅读下列程序,请写出该程序的输出结果。classTest33stat

36、icvoids(intb,intk)inti,j,t;for(i=1;i=0&tbj;j-)bj+l=bj;bj+1=t;publicstaticvoidmain(Stringargs)inti,a=6,12,7,11,5;s(a,5);for(i=0;ia.length;i+)System.out.print(ai+);System.out.Println();567111234阅读下列程序,请写出该程序的功能。importjava.applet.*;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclass

37、Test34extendsAppletimplementsActionListenerJTextFieldtext;intr;JPanelpanel;publicvoidpaint(Graphicsg)Graphicsgc=panel.getGraphics();gc.clearRect(0,0,panel.getWidth(),panel.getHeight();gc.setColor(Color.red);gc.fillOval(10,10,r,r);publicvoidinit()text=newJTextField(10);panel=newJPanel();setSize(200,1

38、00);setLayout(newGridLayout(2,1);add(text);add(panel);text.addActionListener(this);publicvoidactionPerformed(ActionEvente)精选if(e.getSource()=text)r=Integer.parseInt(text.getText();repaint();当在text文本框上回车时,以文本框中的值为直径,在点(10,10)为左上角绘制红色的圆35阅读下列程序,请回答以下问题:(1)该程序的菜单条中共有几个菜单项?3个(2)单击哪个菜单项,可以打开一个对话框?show菜单(

39、3)该对话框是强制型还是非强制型?非强制型(4)该对话框中显示的是什么内容?当前系统时间Importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.util.*;classMyDialogextendsJDialogMyDialog(JFrameF,Strings)super(F,s,false);Datedate=newDate();Stringt=date.toString();JLabeltext=newJLabel(t);add(text);setSize(200,100);setVisible(true);publicclassMenuDemoextendsJFrameimplementsActionListenerJMenuBarmenubar;JMenuaction;JMenuItemshow,set,quit;publicMenuDemo()menubar=newJMenuBar();setJMe

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