04747Java语言程序设计一历年真题3.docx

上传人:b****1 文档编号:15173676 上传时间:2023-07-02 格式:DOCX 页数:12 大小:49.24KB
下载 相关 举报
04747Java语言程序设计一历年真题3.docx_第1页
第1页 / 共12页
04747Java语言程序设计一历年真题3.docx_第2页
第2页 / 共12页
04747Java语言程序设计一历年真题3.docx_第3页
第3页 / 共12页
04747Java语言程序设计一历年真题3.docx_第4页
第4页 / 共12页
04747Java语言程序设计一历年真题3.docx_第5页
第5页 / 共12页
04747Java语言程序设计一历年真题3.docx_第6页
第6页 / 共12页
04747Java语言程序设计一历年真题3.docx_第7页
第7页 / 共12页
04747Java语言程序设计一历年真题3.docx_第8页
第8页 / 共12页
04747Java语言程序设计一历年真题3.docx_第9页
第9页 / 共12页
04747Java语言程序设计一历年真题3.docx_第10页
第10页 / 共12页
04747Java语言程序设计一历年真题3.docx_第11页
第11页 / 共12页
04747Java语言程序设计一历年真题3.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

04747Java语言程序设计一历年真题3.docx

《04747Java语言程序设计一历年真题3.docx》由会员分享,可在线阅读,更多相关《04747Java语言程序设计一历年真题3.docx(12页珍藏版)》请在冰点文库上搜索。

04747Java语言程序设计一历年真题3.docx

04747Java语言程序设计一历年真题3

全国等教育自学考试

Java语言程序设计

(一)试题

课程代码:

04747

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

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

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

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

A.gotoB.null

C.falseD.native

2.以下程序代码的输出结果是()

intx=73;System.out.println(x>>1);

A.36B.36.5

C.37D.true

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

A.不能被继承B.在子类的方法中不能被调用

C.能被别的程序自由调用D.不能被子类的方法覆盖

4.以下是关于字符串运算的代码,执行该代码段的输出结果是()

Strings=″0123456789″,sl,s2;

sl=s.substring

(2);s2=s.substring(2,5);System.out.println(s1+s2);

A.0122345B.234567892345

C.012234D.23456789234

5.以下是关于FlowLayout布局组件排列顺序的叙述,正确的是()

A.从上到下排列B.从左到右排列

C.从下到上排列D.从右到左排列

6.程序执行方法showOpenDialog(),能打开“打开文件对话框”,如果该方法的返回值是JFileChooser.APPROVE_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()

8.在以下供选择的方法中,能让线程从阻塞状态恢复到就绪状态的方法是()

A.start()B.init()

C.resume()D.run()

9.在以下供选择的方法中,不能用于文件随机访问的方法是()

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.一个应用程序必须在某个类中定义的方法是______。

12.import语句的格式是______。

13.在面向对象语言中,对象之间的交互通过______实现。

14.设有两个字符串对象str1和str2,则表达式“strl==str2”的意义是判别字符串strl和str2______。

15.一个基于Swing的应用程序可能在任何平台上都会有相同的______。

16.处理键盘事件的Java程序,要实现的接口是______。

17.Java语言约定,坐标原点位于绘图区域的______。

18.Java程序中,在临界段中使用______方法,使执行该方法的线程等待。

19.BufferedWriter类对象能按行输入文件的内容,按行输入的方法是______。

20.在包中有InetAddress类的定义,Java程序中的InetAddress类对象存储的内容是______。

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

21.请写出实现计算y=|x|的if语句。

22.以下代码定义了一个类,请指出其中三条不合法的代码行(行号参见注释)。

classTest22{//1

floatu;staticfloatv;//2

staticvoidsetUV(booleanf){//3

u=fac1(f);//4

v=fac2(!

f);}//5

staticfloatfacl(booleanf){returnf?

u:

v;}//6

floatfac2(booleanf){returnf?

v:

u;}//7

}//8

23.在java.awt.event中,用来检测并对事件做出反应的模型涉及三种对象。

请写出这三种对象。

24.写出设置Font对象fn的Java语句,要求Courier字体,BOLD风格,18磅字号,设调用对象的类型为Graphics的g。

25.通过流的构造方法建立文件流对象,请写出创建输入输出文件流对象的两种常用构造方法。

26.当Client程序和Server程序需要通信时,可以用Socket类建立套接字连接,请写出双方实现通信的两种方式。

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

27.方法intsigmaEvenNum(int[]a)的功能是求已知数组中偶数的个数。

staticintsigmaEvenNum(int[]a){

ints=0;

for(inti=0;______;i++){

if(______)s++;

}

returns;

}

28.某小应用程序窗口包含有文本区dispArea,以及一个带文字“追加”的按钮。

当点击这个按钮时,程序弹出一个输入信息的对话框,并将对话框中输入的内容追加到文本区中。

以下是其中相应“追加”按钮事件的方法。

publicvoidactionPerformed(ActionEvente){

if(e.______.equals("追加")){

Stringresult=(String)JOptionPane.showInputDialog(null,"请输入信息",

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

dispArea.______(result+"");

}

}

29.以下程序段是选择项目事件处理程序的样例,一个由3个单选按钮组成的选择组被定义为一个面板子类Panel,当某个按钮被选中时,按钮监视程序在类MyWindow的一个文本框中输出某个按钮被选中的字样。

以下是类Panel的定义。

classPanelextendsJPanelimplementsItemListener{

staticJRadioButtonbox[];

ButtonGroupg;

Panel(StringradioNameList[]){

box=newJRadioButton[radioNameList.length];

setLayout(newGridLayout(1,radioNameList.length));

g=newButtonGroup();

for(inti=0;i

box[i]=newJRadioButton(______,false);

g.add(box[i]);add(box[i]);box[i].addItemListener(this);

}

}

publicvoiditemStateChanged(ItemEvente){

for(inti=0;i

if(box[i]._______){

MyWindow.text.setText(box[i].getLabel()+"被选中!

");

}

}

}

}

30.用getImage()方法和drawImage()方法能加载和显示图像。

以下程序加载的是seattle.jpg文件,并假定该文件与包含这个小应用程序的HTML文件在同一个目录下。

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

publicclassSimpleImageLoadextendsApplet{

Imageimg;

publicvoidinit(){

img=getImage(______,"seattle.jpg");

}

publicvoidpaint(Graphicsg){

g.drawImage(img,0,0,______);

}

}

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

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

为此,程序为管理data上的操作定义成类,以下是管理共享数据data的类ShareDataManager的代码。

classShareDataManager{

intdata;

ShareDataManager(intinit){data=init;}

publicintgetData(){returndata;}

privatevoidputData(intnewValue){data=newValue;}

synchronizedvoidmodiData(intdelta){

if(delta>=0){putData(getData()+delta);

}else{

while(______<0){

try{wait();}catch(InterruptedExceptione){}

}

putData(getData()+delta);

}

______;

}

}

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

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

classTree{

privateStringname;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("Name:

"+name);

System.out.println("BirthYear:

"+birthYear);

System.out.println("Flower:

"+flower);

}

}

classPineTreeextendsTree{

publicbooleanconiferous=true;

PineTree(Stringn,booleanf,inty,booleanc){super(n,f,y);coniferous=c;}

publicvoidprintTree(Stringstr){

super,printTree(str);

System.out.println("Coniferous:

"+coniferous);

}

}

classTest32{

publicstaticvoidmain(String[]args){

TreefOb=newTree("MayFlower",true,1980);

PineTreesOb=newPineTree("Pine",false,2000,true);

fOb.printTree("fOb:

");sOb.printTree("sOb:

");

}

}

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

classTest33{

staticvoids(intb[],intk){

inti,j,t;

for(i=1;i

for(t=b[i],j=i-1;j>=0&&t

b[j+l]=b[j];

b[j+1]=t;

}

}

publicstaticvoidmain(String[]args){

inti,a[]={6,12,7,11,5};

s(a,5);

for(i=0;i

System.out.Println();

}

}

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

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

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

publicclassTest34extendsAppletimplementsActionListener{

JTextFieldtext;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,100);setLayout(newGridLayout(2,1));

add(text);add(panel);text.addActionListener(this);

}

publicvoidactionPerformed(ActionEvente){

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

r=Integer.parseInt(text.getText());

repaint();

}

}

}

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

(1)该程序的菜单条中共有几个菜单项?

(2)单击哪个菜单项,可以打开一个对话框?

(3)该对话框是强制型还是非强制型?

(4)该对话框中显示的是什么内容?

Importjavax.swing.*;importjava.awt.*;

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

classMyDialogextendsJDialog{

MyDialog(JFrameF,Strings){

super(F,s,false);Datedate=newDate();

Stringt=date.toString();JLabeltext=newJLabel(t);

add(text);setSize(200,100);setVisible(true);

}

}

publicclassMenuDemoextendsJFrameimplementsActionListener{

JMenuBarmenubar;JMenuaction;

JMenuItemshow,set,quit;

publicMenuDemo(){

menubar=newJMenuBar();setJMenuBar(menubar);

action=newJMenu(''操作'');menubar.add(action);

show=newJMenuItem(''显示''),action.add(show);

set=newJMenuItem("设置");action.add(set);

action.addSeparator();quit=newJMenuItem("退出");

action.add(quit);show.addActionListener(this);

set.addActionListener(this);quit.addActionListener(this);

setSize(300,300);setVisible(true);

}

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==show){MyDialogdiag=newMyDialog(this,"信息");}

elseif(e.getSource()==set){this.setTitle("菜单演示");}

elseif(e.getSource()==quit){System.exit(0);}

}

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

}

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

classCurrentThreadDemo{

publicstaticvoidmain(Stringargs[]){

Threadt=newThread();System.out.println("Currentthread");

t.setName("MyThread");System.out.println("Afternamechange");

try{for(intn=3;n>0;n--){

System.out.println(n);Thread.sleep(1000);

}

}catch(InterruptedExceptione){

System.out.println("Mainthreadinterrupted");

}

}

}

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

37.编写方法intsearchMaxNumIndex(int[]a),寻找已知数组中最大数的下标并返回。

38.以下程序的界面有一个按钮button、一个文本区textA和一个文本框textF。

程序运行时,在文本区中输入数字序列,单击按钮,则在文本框中显示数字序列的和。

以下是要求你编写的actionPerformed(ActionEvente)方法的部分代码。

publicvoidactionPerformed(ActionEvente){

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

Strings=textA.getText();doublesum=0;

StringTokenizerfenxi=newStringTokenizer(s,",\n");

索要答案请扫描二维码

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

当前位置:首页 > 医药卫生 > 基础医学

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

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