全国自考Java语言程序设计一试题及答案.docx

上传人:b****2 文档编号:767433 上传时间:2023-04-30 格式:DOCX 页数:21 大小:23.48KB
下载 相关 举报
全国自考Java语言程序设计一试题及答案.docx_第1页
第1页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第2页
第2页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第3页
第3页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第4页
第4页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第5页
第5页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第6页
第6页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第7页
第7页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第8页
第8页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第9页
第9页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第10页
第10页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第11页
第11页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第12页
第12页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第13页
第13页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第14页
第14页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第15页
第15页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第16页
第16页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第17页
第17页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第18页
第18页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第19页
第19页 / 共21页
全国自考Java语言程序设计一试题及答案.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

全国自考Java语言程序设计一试题及答案.docx

《全国自考Java语言程序设计一试题及答案.docx》由会员分享,可在线阅读,更多相关《全国自考Java语言程序设计一试题及答案.docx(21页珍藏版)》请在冰点文库上搜索。

全国自考Java语言程序设计一试题及答案.docx

全国自考Java语言程序设计一试题及答案

封面

作者:

PanHongliang

仅供个人学习

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

Java语言程序设计

(一)试题及答案

课程代码:

04747

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

1.下面供选字符序列中,不属于Java语言关键字的是(

...

A.innerB.throwC.false

2.表达式“-1>>>1”的十进制值是(B)

C

D.throws

B.231-1A.-2

C.-(231-1)

D.232-1

3.Java语言中,在类定义时用final关键字修饰,是指这个类(D

A.子类必须实现父类未实现的方法

C.必须要有实例

4.表达式"java程序设计".1ength()的值是(C)

A.0B.12C.8

B.没有具体实现代码

D.不能被继承

D.13

5.以下关于BorderLayout布局的叙述中,不正确的是(

...

D

A.把容器内的空间划分成5个区域

C.是框架窗口的默认布局

B.加入组件应该指明要放入的区域

D.一个位置可直接放多个组件

6.利用文件对话框打开或保存文件,在打开文件对话框之前,可用FileFilter类设置筛选条件,其所用的

两个方法是(

B

A.accept()和getSelectedFile()

C.accept()和setDescription()

B.accept()和getDescription()

D.setDescription()和getDescription()

7.设已经有Graphics2D对象g2d,RoundRectangle2D对象rRect,绘制对象rRect的代码是(

A.g2d.draw(rRect)B.g2d.drawRoundRect(rRect)

C.rRect.draw()D.rRect.drawRoundRect()

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

A.临界段是线程互斥使用资源的程序段B.临界段能使线程使用其它线程的资源

C.互斥和同步能很好地解决死锁问题D.可用notify()方法让等待线程结束等待

9.在编写访问数据库的Java程序时,Connection对象的作用是(C)

A.存储查询结果B.在指定的连接中处理SQL语句

C.用来表示与数据库的连接D.用来创建数据库的连接

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

A)

A.getHostName()

B.getLocalName()

C.getHostAddress()

D.getLocalHost()

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

11.能在浏览器上执行的Java程序被称为_____小应用程序Applet____。

12.如果子类A隐藏了超类B的成员变量x,而类A的某个方法f()要引用类B的x,则引用类B的x的

引用代码可以写成_____super:

x_____。

13.接口有与类相似的基本形式,它有常量定义和方法定义,但没有____方法的实现代码________。

14.设u和v是类A的两个对象,

15.要获得对象的字符串表示,调用的方法是___toString()______。

16.注册鼠标点击事件监视器的方法是_____addMouseListener()______。

17.在异或模式下绘图时,实际绘制的颜色是由当前正要绘制的颜色、原先绘制的颜色,以及_____异或

模式设定的颜色______作特定的运算确定的。

18.多线程程序设计中,让执行临界段程序时等待的线程结束等待,通常使用的方法有resume()、notify()

或者_____notifyAll()____。

19.创建的流既可以随机输出,也可以随机输入的类是____RandomAccessFile_____。

20.Java程序中使用套接字方法实现C/S模式时,Client端支持网络底层通讯的类是_____Socket_____。

2012年1月自学考试Java语言程序设计

(一)试题及答案

1

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

21.请写出以下程序段的执行结果。

intc=0,d,n=3758;

if((d=n%l0)>c)while(n>0){

System.out.println("结果="+c);

c=d;n/10;}

这题的循环变量n无改变循环无法终止,可能有误,找不到试题的扫描文件,没做。

22.什么是方法重载,如何正确区分重载?

方法重载是指,一个类中可以有多个方法具有相同的名字和类型,但这些方法的参数必须不同,或者是

参数个数不同,或者是参数类型不同。

23.请写出定义一个包含2个子数组的二维整型数组对象aArr的代码,

二个子数组有3个元素。

int

aArr[][]=newint[2][];

aArr[0]=newint[5];

aArr[1]=newint[3];

24.请写出创建一个JPanel对象p,并为对象p设定GridLayout布局的代码。

JPanel

p=newJPanel();

p.setLayout(newGridLayout);

25.由于创建输出流对象时,可能会出现IOException异常,所以创建输出流对象的代码必须出现在

try-catch语句结构中。

请写出为当前目录下的myFile.dat文件创建缓冲输出流对象outs的代码。

try

{

FileWriter

writefile=new

FileWriter(“myFile.dat”);

BufferedWriter

}

outs=new

BufferedWriter(writefile);

catch(IOExceptio

e){}

26.请写出已知数据库url、用户名uName和密码pWord,通过驱动程序管理器(DriverManager)的方法

getConnection()建立连接con的代码,可能产生的异常是SQLException。

try

{

con=DriverManager.getConnection(url,uName,pWord);

}

catch(SQLException

{

e)

e.printStackTrace();return

}

returncon;

null;

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

27.方法int

tenDigNumlnArray(int[]a,intd)的功能是统计数组中十位数是d的整数的个数。

提示:

对于一个整数n,运算n/10的作用是求得去掉n的个位数后的整数,运算n%10的作用是求得n

的个位数。

staticinttenDigNumlnArray(int[]a,intd){

intc=0;

for(inti=0;___i

if(___a[i]/10==d___)c++;

}

returnc;

2012年1月自学考试Java语言程序设计

(一)试题及答案

2

}

28.某小应用程序的类实现了接口ActionListener,在其窗口有一个文本区对象text和一个标上文字“输入

一个整数”的按钮对象,并正确为该按钮对象注册了监视器。

按钮处理程序要实现的功能是当点击这个按

钮时,程序弹出一个输入信息的对话框,输入一个整数n,程序接受n后,将2至n的所有偶数输出在

文本区text中。

以下是其中处理按钮事件的方法。

publicvoidactionPerformed(ActionEvente){

if(e.___getActionCommand____.equals("输入一个整数")){

Stringres=(String)JOptionPane.showInputDialog(null,"输入一个正整数",

"输入对话框",JOptionPane.PLAIN_MESSAGE,null,null,null);

n=Integer.parseInt(res);

text.setText("");.

for(intk=2;k<=n;k+=2)

text.___setText(k+"")______;

}

}

29.一个示意选择框选择的类CheckBoxWin,类的构造方法根据给定的选择项目表构造一组选择框,这组

选择框允许多选,当这组选择框中的某个选择项的选择状态有改变(从选中变成未选中,或从未选中变成

选中)时,选择框的监视程序在一个文本区中输出那个状态有改变的选择项目。

以下是类CheckBoxWin

的定义。

classCheckBoxWinextendsJFrameimplementsItemListener{

JPanelp=newJPanel();

JTextAreatext;

String[]nameList;

JCheckBoxboxArray[];

CheckBoxWin(String[]sp){

Containercon=getContentPane();

con.setBackground(Color.BLUE);

con.setLayout(newFlowLayout());

p.setSize(90,(sp.1ength)*20);

p.setLayout(newGridLayout(sp.1ength,1));

nameList=sp;

boxArray=newJCheckBox[sp.1ength];

for(inti=0;i

JCheckBoxbox=newJCheckBox(sp[i]);

box.___addItemListener(this)________;

p.add(box);

boxArray[i]=box;

}

con.add(p);

text=newJTextArea(3,13);

text.setText("");

JScrollPanejsp=newJScrollPane(text);

jsp.setSize(100,60);

con.add(jsp);

setSize(100,(sp.1ength)*20+120);

setLocation(100,100);

2012年1月自学考试Java语言程序设计

(一)试题及答案

3

setVisible(true);

}

publicvoiditemStateChanged(ItemEvente){

for(inti=0;i

if(e.getItemSelectable()==_________boxArray[i]__________

if(boxArray[i].isSelected())

){

text.append(nameList[i]+".从未选中变成被选中\n");

else

text.append(nameList[i]+":

从选中变成未被选中\n");

return;

}

}

}

}

30.以下是一个JPanel的子类的paintComponent方法,该方法利用Graphics2D绘制一个正方形,正方形

的位置、边长和颜色分别存于该类的成员变量lTop、edge和c中。

intedge;

Point1Top;

Colorc;

publicvoidpaintComponent(Graphicsg){

Graphics2Dg2=(Graphics2D)g;

g2.setColor(c);

Rectangle2Drec=newRectangle2D.______Double______(1Top.x,lTop.y,edge,edge);

____g2.draw(rec)_____;

}

31.以下小应用程序的界面有一个文本区,文本区同时作为发生键盘事件的事件源,并对键盘事件实施监

视。

程序运行时,先点击文本区,让它激活,以便能响应键盘事件。

以后输入英文字母时,在文本区中

顺序显示输入的字母。

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

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

publicclassTest31extendsAppletimplements____KeyListener_____{

JTextAreatext=newJTextArea(5,10);

publicvoidinit(){setSize(200,200);

_______text.addKeyListener(this)________;

text.setBackground(Color.gray);

}

publicvoidkeyPressed(KeyEvente){}

publicvoidkeyReleased(KeyEvente){}

publicvoidkeyTyped(KeyEvente){

intt=e.getKeyCode();

add(text);

if(t>=KeyEvent.VK_A&&t<=KeyEvent.VK_Z){

text.append(""+(char)t);

}

}

}

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

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

public

class

Test32

2012年1月自学考试Java语言程序设计

(一)试题及答案

4

args[])

sum=0.0;

(inti=1;for

i<=500;i++)

sum+=1.0/(double)i;

System.out.println("sum="+sum);

}

}

111

1

程序功能:

计算并显示sum=

1

2

3

500

33.阅读下列程序,请回答以下问题:

(1)界面中有哪些组件?

(2)点击每一个按钮分别会显示什么内容?

importjava.applet.*;

importjava.awt.*;

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

publicclassTest33extendsAppletimplementsActionListener{

Stringmsg="";

StringbuttonCom[]={"Yes","No","Undecided"};

JButtonbList[]=newJButton[buttonCom.length];

JTeXtFieldt;

publicvoidinit(){

setLayout(newGridLayout(4,1));

for(inti=0;i

bList[i]=newJButton("按钮"+(i+1));

add(bList[i]);

bList[i].addActionListener(this);

}

t=newJTextField();

add(t);

}

publicvoidactionPerformed(ActionEvente){

for(inti=0;i<3;i++){

if(e.getSource()==bList[i]){

t.setTeXt("Youpressed"+buttonCom[i]);

break;

}

}

}

}

答:

(1)界面中组件有;三个按钮,一个文本框。

(2)分别显示:

YoupressedYes;YoupressedNo;YoupressedUndecided。

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

importjava.io.*;

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

classMyWindowextendsJFrameimplementsActionListener{

JTextAreatext;BufferedReaderin;JTextFieldfileName;

FileReaderfile;

2012年1月自学考试Java语言程序设计

(一)试题及答案

5

MyWindow(){

Containercon=this.getContentPane();//获得内容面板

con.setLayout(newBorderLayout());

fileName=newJTextField("输入文件名");

fileName.addActionListener(this);

text=newJTextArea(20,30);

JScrollPanejsp:

newJScrollPane(text);

con.add(jsp,BorderLayout.CENTER);

con.add(fileName,"South");setVisible(true);

}

publicvoidactionPerformed(ActionEvente)

Strings;

try{Filef=newFile(fileName.getText());

file=newFileReader(f);

in=newBufferedReader(file);

}catch(FileNotFoundExceptionel){}

try{while((s=in.readLine())!

=null)

text.append(s+'\n');

}catch(IOExceptionexp){}

}

}

publicclassTest34{

{newMyWindow();}

}

答:

程序运行时显示一个对话框,用户在下面的文本框中输入文件名,中间的文本区显示文件内容。

35.阅读下列程序,请回答以下问题:

(1)该程序中的类MyPanel的成员变量twoClick的作用是什么,该成员变量的值是如何改变的?

(2)程序运行时,用户在界面的不同位置,用鼠标点击两次,界面中会出现什么?

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

classMyPanelextendsJPanelimplementsMouseListener{

intleftx,lefty,rightx,righty;

booleantwoClick;

MyPanel(){

twoClick=false;addMouseListener(this);

}

publicvoidmousePressed(MouseEvente){

if(!

twoClick){

leftx=e.getX();lefty=e.getY();

}else{

rightx=e.getX();righty=e.getY();repaint();

}

twoClick=!

twoClick:

}

publicvoidmouseClicked(MouseEvente){}

publicvoidmouseEntered(MouseEvente){}

publicvoidmouseExited(MouseEvente){}

2012年1月自学考试Java语言程序设计

(一)试题及答案

6

publicvoidmouseReleased(MouseEvente){}

publicvoidpaintComponent(Graphicsg){

g.clearRect(0,0,this.getWidth(),this.getHeight());

g.fillRect(1efix,lefty,Math.abs(rightx-leftx),

Math.abs(righty-lefty));

}

}

classMyWinextendsJFrame{

MyPanelp=newMyPanel();

MyWin(){

getContentPane().add(p);

setSize(400,400);setLocation(100,100);setVisible(true);

}

}

publicclassTest35extendsJFrame{

publicstaticvoidmain(String[]args){newMyWin();}

}

答:

(1)成员变量twoClick是布尔类型,false标识第一次按下鼠标,true标识第二次按下鼠标。

它的

值随鼠标的按动在false与true间循环改变。

(2)界面中画出一个矩形块。

36.阅读下)列程序,请回答以下问题:

(1)程序执行时创建的线程个数。

(2)各线程的名称。

(3)举例给出程序可能的输出结果。

classSelfManagedextendsThread{

intcountDown;

publicSelfManaged(Stringname,intc){

countDown=c;

setName(name);start();

}

publicvoidrun(){

while(true){

System.out.println(getName()+"("+countDown+")");

try{

sleep(50);

}catch(InterruptedExceptione){};

if(--countDown==0)

return;

}

}

}

publicclassTest36{

publicstaticvoidmain(String[]args){

for(inti=0;i<2;i++)

newSelfManaged("线程"+String.valueOf(i),2);

}

2012年1月自学考试Java语言程序设计

(一)试题及答案

7

}

答:

(1)创建的线程个数:

2

(2)各线程的名称:

线程0,线程1

(3)输出结果:

线程0

(2)

线程1

(2)

线程0

(1)

线程1

(1)

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

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2