份Java自考题参考答案doc.docx

上传人:b****5 文档编号:4571672 上传时间:2022-12-06 格式:DOCX 页数:11 大小:27.80KB
下载 相关 举报
份Java自考题参考答案doc.docx_第1页
第1页 / 共11页
份Java自考题参考答案doc.docx_第2页
第2页 / 共11页
份Java自考题参考答案doc.docx_第3页
第3页 / 共11页
份Java自考题参考答案doc.docx_第4页
第4页 / 共11页
份Java自考题参考答案doc.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

份Java自考题参考答案doc.docx

《份Java自考题参考答案doc.docx》由会员分享,可在线阅读,更多相关《份Java自考题参考答案doc.docx(11页珍藏版)》请在冰豆网上搜索。

份Java自考题参考答案doc.docx

份Java自考题参考答案doc

全国2011年1月高等教育自学考试

Java语言程序设计

(一)试题

课程代码:

04747

一、单项选择题(本大题共10小题,每小题1分,共10分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.在Java语言中,int类型数据的长度是()

A.1个字节B.2个字节

C.4个字节D.8个字节

2.在switch语句中,switch后面括号内的表达式的类型不能是()

A.byteB.long

C.charD.int

3.以下关于接口的叙述中,正确的是()

A.所有的接口都是公共接口,可被所有的类和接口使用

B.一个类通过使用关键字interface声明自己使用一个或多个接口

C.接口中所有的变量都默认为publicabstract属性

D.接口体中不提供方法的实现

4.以下代码段的输出结果是()

Strings="JavaWorld";System.out.print(s.indexOf("a",4));

A.-1B.O

C.1D.4

5.以下不属于AWT库中定义的类是()

A.ComponentB.Container

C.ImagesD.Graphics

6.鼠标单击列表中某个选项事件的相关接口是()

A.ListActionListenerB.ListSelectionListener

C.ActionListenerD.SelectionListener

7.Java语言规定,程序绘图区域的坐标原点位于整个区域的()

A.左上角B.右上角

C.左下角D.右下角

8.以下关于线程互斥和同步的叙述中,正确的是()

A.多线程互斥使用各自资源的程序段,在操作系统中称为临界段

B.临界段的作用是使某线程能够使用其它线程的资源

C.可以使用notify()方法通知等待线程结束等待

D.线程的互斥和同步可以很好地解决死锁问题

9.当用户关闭文件对话框时,有可能返回的整数常量是()

A.JFileChooser.CLOSE_OPTIONB.JFileChooser.APPROVE_OPTION

C.JFileChooser.SAVE_OPTIOND.JFileChooser.OPEN_OPTION

10.获取InetAddress对象的域名所用到的方法是()

A.getByName()B.getHostAddress()

C.getLocalHost()D.getHostName()

二、填空题(本大题共10小题,每小题2分,共20分)

请在每小题的空格中填上正确答案。

错填、不填均无分。

11.Java源文件的扩展名是___.java___。

12.表达式-4>>l的十进制值是__-2___。

13.在定义成员变量时,用关键字__static___修饰的是类变量。

l4.布尔类型数组元素的默认初值是__false__。

15.在Swing中,面板有两种,一种是JPanel,另一种是__JScorllPane___。

16.对话框的默认布局是__BorderLayout___。

17.Java语言的绘图模式有两种,它们是正常模式和__异或模式__。

18.当线程处于新建状态后,调用了start()方法,该线程就处于___就绪___状态。

19.如果要按行输入输出文件,需采用___缓冲式____输入输出方式。

20.Java程序与数据库连接的API被称为__JDBC___。

三、简答题(本大题共6小题,每小题3分,共18分)

21.请写一个if语句,判断整数n是否同时满足“被3除余2,被7除余1”的条件,满足时输出“OK”,否则输出“NO”。

if(n%3==0&&n%7==1)System.out.println(“OK”);

elseSystem.out.println(“NO”);

22.请写出在面向对象系统中,类和对象的关系。

类是对象的集合,对象是类的实例。

23.请写出JFrame、Frame以及Window这三个类的继承关系(按照从父类到子类顺序排列)。

WindowFrameJFrame

24.请写出java.applet.AudioClip控制声音播放的三个方法。

play()loop()stop()

25.请写出在使用FileFilter类设置筛选条件时,方法accept()以及getDescription()的作用。

accept():

当选择文件与指定类型相同时,返回true

getDescription():

用于对筛选条件的描述

26.请写出Java程序实现数据库更新可以使用的三种对象。

Statement、PreparedStatement、ResultSet

四、程序填空题(本大题共5小题,每空2分,共20分)

27.方法intnumberOfDigits(intn)的功能是计算十进制正整数n的位数。

intnumberOfDigits(intn){

intc=0:

do{n/=10;__c++___;

}while(__n>0_______);

returnc;

}

28.以下程序创建了一个窗口,窗口内设置一个按钮,单击该按钮,其标题会显示单击的次数。

importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;

publicclassBottonGUI{

publicstaticvoidmain(String[]args){

CountButtonmyButtonGUI=newCountButton();

myButtonGUI.setVisible(true);

}

}

classCountButtonextendsJFrameimplementsActionListener{

publicstaticfinalintWidth=250;

publicstaticfinalintHeight=200;

publicinti=0;

JButtonmyBtn=newJButton(String.valueOf(i));

CountButton(){

setSize(Width,Height);setTitle("计数按钮");

ContainerconPane=getContentPane();

conPane.setLayout(newFlowLayout());

myBtn.addActionListener(this);conPane.__add(myBtn)___;

}

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==myBtn)

myBtn._setLabel_(String.valueOf(++i));

}

}

29.以下小应用程序设置了一个文本区,用于显示鼠标单击的坐标。

importjava.applet.*;importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;

classMyWindowextendsJFrameimplementsMouseListener{

JTextAreatext;JPanelpanel;intx,y;

MyWindow(Strings){__super(s)__;

Containercon=this.getContentPane();con.setLayout(newGridLayout(2,1));

this.setSize(200,300);

panel=newJPanel();con.add(panel);

text=newJTextArea(10,20);

con.add(text);addMouseListener(this);

this.setVisible(true);

}

publicvoidpaint(Graphicsg){text.append("当前鼠标单击的位置是:

"+x+","+y+"\n");

}

publicvoidmousePressed(MouseEvente){}

publicvoidmouseReleased(MouseEvente){}

publicvoidmouseEntered(MouseEvente){}

publicvoidmouseExited(MouseEvente){}

publicvoid_mouseClicked__(MouseEvente){x=e.getX();y=e.getY();repaint();}

}

publicclassMouseDemoextendsApplet{

publicvoidinit(){

MyWindowmyWndow=newMyWindow("鼠标演示程序");

}

}

30.以下小应用程序利用Graphics2D绘制一条直线。

importjava.applet.*;importjava.awt.*:

importjava.awt.geom.*;

publicclassDrawLineextendsApplet{

publicvoidpaint(Graphicsg){

Graphics2Dg2d=_(Graphics2D)__g;

Line2Dline=newLine2D.Double(30.0,30.0,180.0,30.0);

g2d._draw(line)_;

}

}

31.方法readByURL()的功能是已知网址,创建URL对象,设置网络连接,获取网址上的内容并显示。

其中获取网址上的内容并显示的代码已被省略。

publicvoidreadByURL(StringurlName){

try{

URLurl=newURL(urlName);

URLConnectiontc=url.__openConnection(url)__;

tc.__connect()__;

InputStreamReaderin=newInputStreamReade(tc.getInputStream());

BufferedReaderdis=newBufferedReader(in);

StringinLine;

......//这里的代码实现逐行输入网址上的内容并显示

dis.close();

}catch(MalformedURLExceptione){e.printStackTrace();}

catch(IOExceptione){e.printStackTrace();)

}

五、程序分析题(本大题共5小题,每小题4分,共20分)

32.阅读下列程序,请写出该程序的输出结果。

classB{

intb;

B(intx){b=x;System.out.println("b="+b);}

}

classAextendsB{

inta;

A(intx,inty){

super(x);a=y;System.out.println("b="+b+",a="+a);

}

}

publicclassa32{

publicstaticvoidmain(String[]args){

Aobj=newA(1,2);

}

}

b=1

b=1,a=2

33.阅读下列程序,请写出该程序的输出结果。

publicclassTest33{

publicstaticvoidmain(String[]args){

int[][]a={{2,3},{1,6}};int[][]b={{4,2},{3,5}};

int[][]c=newint[2][2];inti,j;

for(i=0;i

for(j=0;j

c[i][i]=a[i][i]+b[i][i];

System.out.print(c[i][i]+"");

if(j==a[i].length-1)System.out.println();

}

}

}

65

411

34.阅读下列程序,请写出该程序的功能。

importjava.applet.*;importjavax.swing.*;

importjava.awt.event.*;importjava.util.*;

publicclassStrCextendsApplet{

staticJTextFieldtextl,text2;Ss=newS();

publicvoidinit(){

textl=newJTextField(20);text2=newJTextField(20);setSize(400,l00);

add(textl);add(text2);textl.addActionListener(s);

}

}

classSimplementsActionListener(

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==StrC.textl){

Strings=StrC.textl.getText();Stringss="":

StringTokenizerpas=newStringTokenizer(s);

while(pas.hasMoreTokens()){ss+=pas.nextToken();)

StrC.text2.setText(ss);

}

}

}

在文本框text1中输入字符串回车时,获取其字符串值,然后去掉空格、tab后显示在文本框text2中。

35.阅读下列程序,请写出该程序的功能。

importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;

publicclassComboBoxApp{

publicstaticvoidmain(String[]args){

ComboBoxDemomyComboBoxGUI=newComboBoxDemo();

}

}

classComboBoxDemoextendsJFrameimplementsActionListener{

StringproList[]={"Java","C++,"Fortran");

JTextFieldtext;JComboBoxcomboBox;

publicComboBoxDemo(){

setSize(200,100);

ContainerconPane=getContentPane();

conPane.setBackground(Color.BLUE);

conPane.setLayout(newFlowLayout());

comboBox=newJComboBox(proList);

comboBox.addActionListener(this);

comboBox.setEditable(true);

conPane.add(comboBox);text=newJTextField(10);

JScrollPanejsp=newJScrollPane(text);

conPane.add(jsp);this.setVisible(true);

}

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==comboBox)

text.setText(String.valueOf

(comboBox.getSelectedltem().toString().1ength()));

}

}

在大小为200*100的蓝色背景窗体框架上,按流型布局的方式添加一个下拉选择框和一个带滚动条的文本框;当点击下拉选择框时,将选择内容的长度显示在文本框text中

36.阅读下列程序,请写出该程序的功能。

publicclassTwoThreadextendsThread{

privateThreadcreatorThread;

publicTwoThread(){creatorThread=Thread.currentThread();}

publicvoidrun(){

for(inti=0;i<5;i++){printMsg();}

}

publicvoidprintMsg(){

Threadt=Thread.currentThread();

if(t==creatorThread){System.out.println("Creatorthread");

}elseif(t==this){System.out.println("Newthread");}

}

publicstaticvoidmain(String[]args){

TwoThreadtt=newTwoThread();tt.start();

for(inti=O;i<10;i++){tt.printMsg();}

}

}

通过10次循环判断当前获得cpu使用权的是主线程还是tt线程;如果是主线程则输出"Creatorthread";如果是tt线程,则输出"Newthread"。

六、程序设计题(本大题共2小题,每小题6分,共12分)

37.请编写方法doubleaverageOfArray(double[]a),返回非空数组中正数的平均值(数组中可能有非正数元素)。

doubleaverageOfArray(double[]a){

inti,n=0;doubles=0.0;

for(i=0;i0){s=s+a[i];n++;}

returns/n;

}

38.一个小应用程序,界面如题38图所示,其功能为比较两个文本框中输入的字符串是否相同,如果相同,那么在下方显示“两个字符串相同”,否则,显示“两个字符串不同”。

按下“重置”按钮后清空文本框里面的内容。

以下是程序的大部分,请编写其中的监视器方法。

importjava.applet.*;importjavax.swing.*;

importjava.awt.event.*;

publicclassa38extendsAppletimplementsActionListener{

JTextFieldtextl,text2;

JButtonbutton1,button2;JLabellabel1;

publicvoidinit(){

text1=newJTextField(12);text2=newJTextField(12);

buttonl=newJButton("比较");button2=newJButton("重置"):

label1=newJLabel("此处显示比较结果"):

add(text1);add(text2);add(button1);add(button2);add(1abel1);

text1.requestFocus();//将光标自动定位到第一个文本框

button1.addActionListener(this);button2.addActionListener(this);

}

publicvoidactionPerformed(ActionEvente){

//请在以下位置编写代码

if(e.getSource()==button1){

if(text1.getText().equals(text2.getText()))

label1.setText(“两个字符串相同”);

elselabel1.setText(“两个字符串不同”);

}elseif(e.getSource()==button2){

text1.setText(null);text2.setText(null);

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1