Java语言程序设计一试题答案.docx

上传人:b****5 文档编号:28523765 上传时间:2023-07-18 格式:DOCX 页数:13 大小:20.99KB
下载 相关 举报
Java语言程序设计一试题答案.docx_第1页
第1页 / 共13页
Java语言程序设计一试题答案.docx_第2页
第2页 / 共13页
Java语言程序设计一试题答案.docx_第3页
第3页 / 共13页
Java语言程序设计一试题答案.docx_第4页
第4页 / 共13页
Java语言程序设计一试题答案.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Java语言程序设计一试题答案.docx

《Java语言程序设计一试题答案.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计一试题答案.docx(13页珍藏版)》请在冰豆网上搜索。

Java语言程序设计一试题答案.docx

Java语言程序设计一试题答案

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

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

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸’’的相应代码涂黑。

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

1.Java语言中,int类型占用的二进制位数是(C)

A.8位B.16位

C.32位D.64位

2.以下关于Java语句的说法正确的是(C)

A.continue语句必须出现在多路按值选择结构或循环结构中

B.return语句可以出现在方法体的外面

C.编译系统会把单独的分号看成是空语句

D.break语句的作用是提早结束当前轮次循环

3.不能被再继承的类是(A)

A.final类B.abstract类

C.public类D.用户自定义类

4.已知Strings="ABCDEFGHIJABC",以下说法错误的是(D)

A.s.indexOf("C")等于2B.s.indexOf("EFG",2)等于4

C.s.indexOf("A",7)等于10D.s.indexOf("D",4)等于3

5.以下Swing提供的GUI组件类和容器类中,不属于顶层容器的是(D)

A.JFrameB.JApplet

C.JDialogD.JMenu

6.以下不是JDialog类构造方法的是(B)

A.JDialog()B.JDialog(booleanb)

C.JDialog(JFramef,Strings)D.JDialog(JFramef,Strings,booleanb)

7.以下不属于文字字型要素的是(D)

A.字体B.风格

C.字号D.颜色

8.阻塞状态的线程在消除引起阻塞的原因后,会转入(C)

A.死亡状态B.开始状态

C.就绪状态D.运行状态

9.字符流数据是(B)

A.8位的ASCII字符B.16位的Unicode字符

C.任意字符数据D.任意二进制数据

10.以下方法中,可以执行SQL查询语句的是(A)

A.executeQuery()B.executeUpdate()

C.executeSQL()D.executeFind()

非选择题部分

注意事项:

用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。

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

11.如果Java源文件中有多个类,那么只能有一个_public_类。

12.运算符‘‘<”、“*”和“&&”按优先级从高到低的顺序排列为__*_<_&&__。

13.当联编推迟至运行时间实现时,该联编过程称为__动态__联编。

14.数组名如同对象名一样,是一种__引用__。

15.为了让监视器与事件对象关联起来,需要对事件对象做__监视器注册__,告诉系统事件对象的监视器。

16.列表在界面中表现为列表框,是__JList__类或它的子类的对象。

17.Java语言的图像处理功能被封装在__Image__类中。

18.线程之间的相互等待被称为线程的__同步__。

19.希望由FileReader对象rf,创建对文件实行缓冲式输入的对象in,能实现这个要求的代码是

__in=newBufferedReader(rf)__。

20.当Client程序和Server程序需要通信时,可以用__Socket___类建立套接字连接。

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

21.请写出表示条件“y右移一位后大于3并且y不等于0”成立的Java表达式。

答:

y>>1>3&&y!

=0

22.请写出类之间的is-a关系和类之间的has-a关系的含义。

答:

is-a:

类之间存在继承关系,如类A继承扩展类B,类A类B之间是is-a关系。

has-a:

类之间存在包含关系,如类A的某成员变量类型是类B,类A类B之间是has-a关系。

23.请写出GridLayout布局的三种构造方法。

答:

GridLayout()

GridLayout(introw,intcol)

GridLayout(introw,intcol,inthorz,intvert)

24.请写出使用Graphics2D类声明并创建一个左上角为(30,40),宽是80,高为50的椭圆对象ellipse的语句。

答:

Ellipse2Dellipse=newEllipse2D.Double(30,40,80,50);

25.请写出采用缓冲式输出时,程序由文件名创建缓冲式输出流的步骤。

答:

程序先创建FileWrite对象,再利用FileWrite对象创建BufferedWrite对象,对BufferedWrite对象使用write()方法就能实现缓冲式输出。

26.请写出数据库更新操作中,删除数据表记录的3种方案各自所使用的对象。

答:

使用Statement对象,使用ResultSet对象,使用PrepareStatement对象。

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

27.以下程序是求50以内的质数。

publicclassTest27{

publicstaticvoidmain(String[]args){

inti,j;

for(j=2;j<=50;j++){

for(i=2;i<=j/2;i++)

if(_j%i_==0)break;

if(i>_j/2__){

System.out.println(j+"是质数");

}else{}

}

}

}

28.以下是使用JFrame派生的子类MyWindowDemo创建JFrame窗口的代码。

类MyWindowDemo的构造方法有五个参数:

窗口的标题名,加人窗口的组件,组件的背景颜色,以及窗口宽和高。

classMyWindowDemoextendsJFrame{

publicMyWindowDemo(Stringname,JButtonb,ColorC,intw,inth){

__super()____;

setTitle(name);

setSize(w,h);

ContainercontentPane=_getContentPane()__;//获得窗口内容面板

contentPane.add(b);

b.setBackground(c);

}

}

29.小应用程序声明一个用户窗口类和对话框类,用户窗口有若干按钮,当点击某按钮时,打开对应的对话框。

以下是对buttonl进行处理的部分代码。

publicvoidactionPerformed(ActionEvente){

MyDialogdialog;

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

dialog=newMyDialog(__this___,"水果");

dialog.__setVisible(true)___;//显示该对话框

………//这里是对buttonl进行处理的其他代码

}

………//这里是其他按钮事件的处理代码

}

30.以下是能播放声音的小应用程序中事件处理方法的部分代码,其中clip为一个音频对象,b1、b2分别是播放和停止播放的按钮。

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==b1){clip._play()__;}

elseif(e.getSource()==b2){clip._stop()_;}

}

31.以下程序段定义的类DataManager用于管理多个线程共享数据data。

为了对data的取、存和修改操作保持完整,多线程在data上的操作有互斥要求;另外,限制线程对data的修改不能让data为负数,所以多线程在data上的操作还有同步要求。

为此,程序为管理data上的操作定义成类。

classDataManager{

intdata;

DataManager(intinit){data=init;}

publicintgetData(){returndata;}

privatevoidputData(intnewValue){data=newValue;}

_synchronized__voidmodiData(intdelta){

if(delta>=0){

putData(getData()+delta);

}else{

while(getData()+delta<0){

try{wait();}

catch(InterruptedExceptione){}

}

putData(getData()+delta);

}

_notify()_______;

}

}

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

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

publicclassTest32{

publicstaticvoidmain(String[]args){

inti,j;

for(i=0;i<5;i++)

{

for(j=1;j<5-i;j++)

System.out.print("");

for(j=0;j<=i;j++)

System.om.print(’"*");

System.out.Println();

}

}

}

答:

*

**

***

****

*****

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

publicclassTest33{

staticintx=1;

inty=0;

Test33(){

x++;y++;

}

publicstaticvoidmain(String[]args){

Test33st=newTest33();

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

System.out.println("st.y="+st.y);

st=newTest33();

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

System.out.println("st.y="+st.y);

}

}

答:

x=2

st.y=1

x=3

st.y=1

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

假定图像文件apple.gif、banana.gif、pear.gif和watermelon.gif已经存放在当前目录中。

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

publicclassTest34extendsJAppletimplementsItemListener{

Imageimage=null;

JPanelp;

publicvoidinit(){

ContainercontentPane=getContentPane();

contentPane.setLayout(newFlowLayout());

JComboBoxjc=newJComboBox();

jc.addItem("apple");jc.addItem("banana");

jc.addItem("pear");jc.addItem("watermelon");

jc.addItemListener(this);

contentPane.add(jc);

p=newJPanel();

contentPane.add(p);

}

publicvoidpaint(Graphicsg){

if(image!

=null)

g.drawImage(image,0,0,this);

}

publicvoiditemStateChanged(ItemEventie){

Strings=(String)ie.getItem();

image=getImage(getCodeBase(),s+".gif");

repaint();

}

}

答:

小应用程序有一个组合框,其中有4个可选条目,分别是:

"apple","banana","pear","watermelon"。

当选择其中一个条目时,可以显示相应的图片。

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

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

publicclassTest35extendsApplet{

publicvoidpaint(Graphicsg){

setSize(380,200);

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

Colormyredcolor=newColor(i*25+5,0,0);

g.setColor(myredcolor);

g.fillRect(i*32+5,2,28,28);

}

}

}

答:

程序用不同的红色绘制10个小方块。

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

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

publicclassTest36extendsApplet{

finalintinc=25;

intmax=500;intmin=200;

Dimensiond;

publicvoidinit(){

addMouseListener(newMouseAdapter()){

publicvoidmouseReleased(MouseEventme){

intw=(d.width+inc)>max?

min:

(d.width+inc);

inth=(d.height+inc)>max?

min:

(d.height+inc);

setSize(newDimension(w,h));

}

}

}

publicvoidpaint(Graphicsg){

d=getSize();

g.drawLine(0,0,d.width-1,d.height-1);

g.drawLine(0,d.height-1,d.width-1,0);

g.drawRect(0,0,d.width-1,d.height-1);

}

}

答:

程序沿着窗口内的边框绘制矩形,在矩形内绘制一个x,窗口开始大小为200*200,每用鼠标点击一次窗口变大,大至500*500时,点击又开始变小,直到原始大小。

这一过程不断重复。

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

37.请编写方法int[]cubeArray(int[]a),返回一个新数组b,数组b的长度与参数数组的长度相同,其元素的值是参数数组对应各元素值的立方。

答:

int[]cubeArray(int[]a){

int[]b=newint[a.length];

for(inti;i

b[i]=a[i]*a[i]*a[i];

}

returnb;

}

38.小应用程序设置一个文本区、一个文本框和两个按钮。

用户在文本区中输入整数序列,单击求和按钮,程序对文本区中的整数序列进行求和,并在文本框中输出计算结果。

单击第二个按钮,清除文本区和文本框中内容。

注:

这里是给定程序的部分代码,你要编写的是actionPerformed(ActionEvente)方法。

importjava.util.*;.........

publicclassTest38extendsAppletimplementsActionListener{

JTextAreatextA;JTextFieldtextF;JButtonb1,b2;

publicvoidinit(){

textA=newJTextArea("",5,10);

textF=newJTextField("",10);

b1=newJButton("求和");b2=newJButton("重新开始");

b1.addActionListener(this);b2.addActionListener(this);

add(textA);add(textF);add(b1);add(b2);

……..

}

publicvoidactionPerformed(ActionEvente){

//请在以下位置编写代码(例题Example5_9)

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

Strings=textA.getText();

StringTokenizertokens=newStringTokenizer(s);

intn=tokens.countTokens();

intsum=0;

inti;

for(i=0;i<=n-1;i++){

Stringtemp=tokens.nextToken();

sum+=Integer.parseInt(temp);

}

textF.setText(""+sum);

}

elseif(e.getSource()==b2){

textA.setText(null);

textF.setText(null);

}

}

}

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

当前位置:首页 > 高等教育 > 农学

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

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