全国高等教育自学考试Java语言程序设计试题

文章描述:-2022年4月13日发(作者:万里)全国2010年1月自学考试Java语言程序设计(一)试题课程代码:04747一、单项选择题(本大题共10小题,每小题1分,共10分)1.在下述字符串中,不属于Java语言关键字的是()A.floatB.newC.javaD.return2.Java语言中数值数据的类型能自动转换,按照从左到右的转换次序为()A.byte→int→short→long→float

-

全国高等教育自学考试Java语言程序设计试题
2022年4月13日发
(作者:万里)

全国2010年1月自学考试Java语言程序设计(一)试题

课程代码:04747

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

1.在下述字符串中,不属于Java语言关键字的是()A.floatB.newC.javaD.return

2.Java语言中数值数据的类型能自动转换,按照从左到右的转换次序为()

A.byte→int→short→long→float→doubleB.byte→short→int→long→float→double

C.byte→short→int→float→long→doubleD.short→byte→int→long→float→double

3.3.在以下供选择的概念中,不属于面向对象语言概念的是()A.消息B.模块C.继承D.多

态性

4.4.在下述Java语言语句中,错误的创建数组的方法是()

AA.intintArray[];intArray=newint[5];B.intintArray[]=newint[5];

CC.int[]intArray={1,2,3,4,5};D.intintArray[5]={1,2,3,4.5};

5.在Swing中,它的子类能用来创建框架窗口的类是()A.JWindowB.JFrameC.JDialog

D.JApplet

6.MouseListener接口不能处理的鼠标事件是()A.按下鼠标左键B.点击鼠标右键C.鼠标进入D.鼠

标移动

7.以下不属于文字字型要素的是()A.颜B.字体C.风格D.字号

8.在以下四个供选的整数中,能作为线程最高优先级的整数是()A.0B.1C.10D.11

9.Java语言可以用包中的类JFileChooser来实现打开和保存文件对话框。用户通过文件对

话框不可能获得的信息是()A.文件名称B.文件路径C.文件内容D.文件对象

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

A.用来表示与数据库的连接B.存储查询结果C.在指定的连接中处理SQL语句D.建立新数据

库连接

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

11.Java的编译程序先将Java源程序翻译成与机器无关的__________。

12.表达式¨23&18’’的值是__________。

13.如果类A某个成员变量的类型是类B,则类A和类B之间是__________关系。

14.Java语言提供了两个用于处理字符串的类,它们是__________。

15.某程序用代码“JTextFieldtext=newJTextField();”创建了一个文本框,并对这个文本框注册了监

视器,则在监视器处理方法actionPerformed(ActionEvente)中,判定是在这个文本框上发生事件的条

件表达式是__________。

16.一个水平滚动条对象的初始值是50,滑块的宽是10个像素,表示的范围是[0,250]。创建这样

的滚动条对象时,提供的5个参数依次是__________。

17.要在JComponent子类的组件中绘图,应重写__________方法。

18.当线程使用完临界段后,为了使等待的线程恢复工作,需要调用的方法是__________。

19.某程序想为一个long型整数文件构造随机读写对象,支持这个要求的类是__________。

20.设已知服务器的IP地址和端口号,要创建一个套接字对象,支持这个要求的类是__________。

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

21.请写出一段if语句,判断一个整数n是否为偶数。如果是偶数,输出“Yes.”;否则,输出“o.”。

22.请写出接口定义的一般形式。

23.请写出Java语言编写事件处理程序的两种主要方案。

24.设已经有Graphics2D对象g2d,请用Java语句绘制一个矩形rect,其左上角坐标是(20,30),宽

是120,高是30。

25.打开文件对话框时,还可以设置筛选条件,即指定文件的类型。请写出FileFilter类预设的两个方

法。

26.请写出URLConnection类提供的三个常用方法。

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

27.方法voidmoveOddForword(inta[])的功能是将数组中的所有奇数移到所有偶数之前。

voidmoveOddForword(inta[]){

for(inti=0,odd=0;________;i++)

if(________){intt=a[i];a[i]=a[odd];a[odd]=t;odd++;}}

28.以下程序创建了一个窗口,然后在窗口内显示″Hello,World!″。

.*;importjava.awt*;

publicclassHelloWorld{

publicstaticvoidmain(String[]ares){TextFrameframe=newTextFrame();

aultCloseOperation(_O_CLOSE);

frame.________;}}

classTextFrameextendsJFrame{

publicTextFrame(){.setTitle(″HelloWorld″);

setSize(WIDTH,HEIGHT);

TextPanelpanel=newTextPanel();

ContainercontentPane=getContentPane();

contentPane.add(panel);}

publicstaticfinalintWIDTH=300;

publicstaticfinalintHEIGHT=200;}

classTextPanelextendsJPanel{

publicvoidpaintComponent(Graphicsg){

super.________;

ring(″Hello,World!″,x,y);}

publicintx=100;publicinty=100;}

29.以下是子窗口中设置一个菜单条类的定义。类的构造方法根据指定的窗口名称和菜单表设置菜单

条,菜单和菜单项,当选中某个菜单项时,在文本框中显示相应菜单项被选中的信息。

classMenuWindowextendsJFrameimplementsActionListener{

publicstaticJTextFieldtext;

publicMenuWindow(Strings,StringmenuList[][]){setTitle(s);

Containercon=tentPane();

out(newBorderLayout());

ation(100,100);e(300,100);

JMenuBarmenubar=newJMenuBar();

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

JMenumenu=newJMenu(menuList[i][0]);

for(intj=1;j

JMenultemanltem=newJMenultem(menuList[i][j]);

anltem.setActionCommand(menuList[i][j]);

anltem.________;(anltem);}

menubar.__________;}

text=newJTextField();setJMenuBar(menubar);

(text,BorderLayout.SOUTH);}

publicvoidactionPerformed(ActionEvente){

text.setText(e.getActionCommand()+″菜单项被选中!″);}}

publicclassTest29extendsApplet{

MenuWindowwindow;

StringmenuList[][]={{″体育″,″跑步″,″打蓝球″,″打乒乓″},

{″娱乐″,″唱歌″,″跳舞″}};

publicvoidinit(){

window=newMenuWindow(″体育娱乐之窗″,menuList);

ible(true);}}

30.以下是一个用鼠标自由作画的小应用程序。最简单的方法是根据鼠标所在位置画点,跟随鼠标的

移动,不断画圆点,就能实现用鼠标作画。

importjava.awt.*;

importjava..*;

publicclassTest30extendsjava.applet.AppletimplementsMouseMotionListener{

Colorcolor;intlineSize=2:

intx=-1,y=-l;

publicvoidinit(){

setLocation(30,20);setSize(300,300);

setBackground();addMouseMotionListener(this);}

publicvoidpaint(Graphicsg){

if(x!=-1&&y!=-1){

or(color);al(x,y,1ineSize,lineSize);}}

publicvoidmouseMoved(MouseEvente){}

publicvoidmouseDragged(MouseEvente){

x=();y=e.getY();_________;}

publicvoid________(Graphicsg){paint(g);}}

31.以下定义的类ShareData用于管理多个线程共享数据data。一个线程生成data,另一个线程使用

data。约定,新生成的data只有被另一个线程使用后,才能生成下一个data。反之,一个data被使用

后,也不能再继续使用。所以,生成和使用data的线程之间需要互斥和同步。以下是管理上述使用方

式的类,类内有要管理的共享数据,以及对共享数据的存操作putData()和取操作getData()。

classShareData{

intdata;∥共享数据

booleannewData=false;∥有最近新生成data的标志

synchronizedintgetData(){

while(!newData){

newData=false;notify();returndata;}

synchronizedvoidputData(intn){

while(newData){

data=n;__________;

notify();return;}}

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

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

classParent{

classChildextendsParent{

publicstaticvoidmain(Stringargs[]){Parentp=newChild();2();}}

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

.*;.*;

publicclassTest33{

publicstaticvoidmain(Stringargs[]){

Stringstr=(String)JOptionPane.showInputDialog(null,″请输入信息″,

″输入对话框″,JOptionPane.PLAI_MESSAGE,null,null,null);

StringTokenizerpas=newStringTokenizer(str,″,″);

intn=okens();

while(pas.hasMoreTokens()){

Strings=ken();

34.阅读下列程序,请用示意图画出程序运行时呈现的界面。

.*;.*;.*;

classMyPanelextendsJPanel{

JTextFieldtextl,text2;

MyPanel(Stringsl,Strings2){

textl=newJTextFieId(s1);text2=newJTextField(s2);

add(text1);add(text2);}}

classMySubPanelextendsMyPanel{JTextFieldtext;

MySubPanel(Stringsl,Strings2,Strings3){

super(s1,s2);text=newJTextField(s3);add(text);}}

publicclassTest34{

publicstaticvoidmain(Stringargs[]){

JFramemw=newJFrame(″一个示意窗口″);

e(350,150);

Containercon=tentPane();

out(newBorderLayout());

MyPanelpl=newMyPanel(″文本框l″,″文本框2″);

MySubPanelp2=newMySubPanel(″文本框3″,″文本框4″,″文本框5″);

JTextAreatext=newJTextArea(″这里是一个文本区″);

(pl,″orth″);(p2,″South″);

(text,″Center″);mw.setVisible(true);}}

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

publicclassClass1extendsAppletimplementsKeyListener{

JButtonbutton=newJButton(″开始″);

JTextAreatext=newJTextArea(5,20);

publicvoidinit(){

Listener(this);add(button);add(text);}

publicvoidkeyPressed(KeyEvente){

intt=Code();

if(t>=_A&&t<=_Z){

(″″+(char)t);}}

publicvoidkeyTyped(KeyEvente){}

publicvoidkeyReleased(KeyEvente){}}

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

.*;.*;

ThreadmyThread=null;

doubleseta=0.0;

publicvoidstart(){

setSize(500,400);

if(myThread=null){myThread=newThread(this);();}}

publicvoidrun(){

while(myThread!=null){

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

seta+=3.0;if(seta>=360)seta=0;repaint();}}

publicvoidpaint(Graphicsg){

finaldoublepi=3.14159;finaldoubler=100.0;

intx0=250+(int)(r*(3.1415926/180.0*seta));

inty0=200+(int)(r*(3.1415926/180.0*seta));

or();al(x0,y0,10,10);}}

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

37.请编写方法voidstrReverse(Stringstr),该方法的功能是输出一个新字符串,新字符串字符排列顺序

与原字符串str的字符排列顺序相反。例如,strReverse(″ABCD″)所输出的结果是″DCBA″。请使用字

符串与字节数组的相互转换方法进行设计。

38.请设计实现如下用于输入学号和姓名的对话框界面,其中空白格是文本框,用于输入相应的内容。

这里给出的是程序的一部分,你要编写的是类InputoameDialog的构造方法

InputoameDialog(JFramef,Strings,JTextFieldt)。其中参数f是对话框的依赖窗口,s是对话框标

题,t是依赖窗口中显示对话框输入内容的文本框。

以下是类InputoameDialog的程序框架。

classInputoameDialogextendsJDialogimplementsActionListener{

JLabeltitle;JTextFieldtextl,text2,mainText;JButtondone;

InputoameDialog(JFramefStrings,JTextFieldt){

super(f,s,true);mainText=t;Containercon=getContentPane();

title=newJLabel(s);textl=newJTextField(10);

text2=newJTextField(10);out(newGridLayout(3,2));

e(200,100);setModal(false);

//请在以下位置续写其余代码

}

publicvoidactionPerformed(ActionEvente){

//输入结束按确定按钮后,将对话框中输入的学号和姓名在它依赖窗口的文本框中显示。

t(″学号:″+t()+″姓名:″+t());

setVisible(false);dispose();

}

}

-

全国高等教育自学考试Java语言程序设计试题

发布时间:2022-04-13 03:04:21
文章版权声明:除非注明,否则均为IT技术网-学习WEB前端开发等IT技术的网络平台原创文章,转载或复制请以超链接形式并注明出处。

发表评论

评论列表 (有 7 条评论,304人围观)