全国精编月高等教育自学考试Java语言程序设计一试题.docx
- 文档编号:8912222
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:12
- 大小:516.60KB
全国精编月高等教育自学考试Java语言程序设计一试题.docx
《全国精编月高等教育自学考试Java语言程序设计一试题.docx》由会员分享,可在线阅读,更多相关《全国精编月高等教育自学考试Java语言程序设计一试题.docx(12页珍藏版)》请在冰豆网上搜索。
全国精编月高等教育自学考试Java语言程序设计一试题
全国2010年1月自学考试Java语言程序设计
(一)试题课程代码:
04747
一、单项选择题(本大题共10小题,每小题1分,共10分)
I.在下述字符串中,不属于Java语言关键字的是()A.floatB.newC.javaD.return
2.Java语言中数值数据的类型能自动转换,按照从左到右的转换次序为()
A.byte宀int宀short宀long宀float宀doBblebyte宀short宀int宀long宀float宀double
C.bytetshortintfloatlongdoDbleshortbyteintlongfloatdouble
3.3.在以下供选择的概念中,不属于面向对象语言概念的是()A.消息B.模块C.继承D.多态
性
4.在下述Java语言语句中,错误的创建数组的方法是()
A.intintArray[];intArray=newint[5];B.intintArray[]=newint[5];
C.int[]intArray={1,2,3,4,5};D.intintArray[5]={1,2,3,4.5};
5.在Swing中,它的子类能用来创建框架窗口的类是()A.JWindowB.JFrameC.JDialogD.JApplet
6.MouseListener接口不能处理的鼠标事件是()A.按下鼠标左键B.点击鼠标右键C.鼠标进入D.鼠标移动
7.以下不属于文字字型要素的是()A.颜色B.字体C.风格D.字号
8.在以下四个供选的整数中,能作为线程最高优先级的整数是()A.0B.1C.10D.11
9.Java语言可以用javax.swing包中的类JFileChooser来实现打开和保存文件对话框。
用户通过文件对话框
不可能获得的信息是()A.文件名称B.文件路径C.文件内容D.文件对象
10.在编写访问数据库的Java程序时,Connection对象的作用是()
A.用来表示与数据库的连接B.存储查询结果C.在指定的连接中处理SQL语句D.建立新数据库连接
二、填空题(本大题共10小题,每空2分,共20分)
II.Java的编译程序先将Java源程序翻译成与机器无关的。
12.表达式•-23&18的值是。
13.如果类A某个成员变量的类型是类B,则类A和类B之间是关系。
14.Java语言提供了两个用于处理字符串的类,它们是。
15.某程序用代码“JTextFieldtext=neJTextField();”创建了一个文本框,并对这个文本框注册了监视器,则在监视器处理方法actionPerformed(ActionEvente)中,判定是在这个文本框上发生事件的条件表达式是
。
16.一个水平滚动条对象的初始值是50,滑块的宽是10个像素,表示的范围是[0,250]。
创建这样的滚
动条对象时,提供的5个参数依次是。
17.要在JComponent子类的组件中绘图,应重写方法。
18.当线程使用完临界段后,为了使等待的线程恢复工作,需要调用的方法是。
19.某程序想为一个long型整数文件构造随机读写对象,支持这个要求的类是。
20.设已知服务器的IP地址和端口号,要创建一个套接字对象,支持这个要求的类是。
三、简答题(本大题共6小题,每小题3分,共18分)
21.请写出一段if语句,判断一个整数n是否为偶数。
如果是偶数,输出“Yes.否则,输出“No”。
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.以下程序创建了一个窗口,然后在窗口内显示”HelloWorld!
。
'‘
importjavax.swing.*;importjava.awt*;
publicclassHelloWorld{
publicstaticvoidmain(String[]ares){TextFrameframe=newTextFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.;}}
classTextFrameextendsJFrame{
publicTextFrame(){.setTitle("HelloWo;d")
setSize(WIDTH,HEIGHT);
TextPanelpanel=newTextPanel();
ContainercontentPane=getContentPane();
contentPane.add(panel);}
publicstaticfinalintWIDTH=300;
publicstaticfinalintHEIGHT=200;}
classTextPanelextendsJPanel{
publicvoidpaintComponent(Graphicsg){
super.;
g.drawString("HeWorld!
/x,y);}
publicintx=100;publicinty=100;}
29.以下是子窗口中设置一个菜单条类的定义。
类的构造方法根据指定的窗口名称和菜单表设置菜单条,菜单和菜单项,当选中某个菜单项时,在文本框中显示相应菜单项被选中的信息。
classMenuWindowextendsJFrameimplementsActionListener{
publicstaticJTextFieldtext;
publicMenuWindow(Strings,StringmenuList[][]){setTitle(s);
Containercon=this.getContentPane();
con.setLayout(newBorderLayout());
this.setLocation(100,100);this.setSize(300,100);
JMenuBarmenubar=newJMenuBar();
for(inti=0;i JMenumenu=newJMenu(menuList[i][0]); for(intj=1;j JMenultemanItem=newJMenultem(menuList[i][j]); anItem.setActionCommand(menuList[i][j]); anItem.;menu.add(anltem);} menubar.;} text=newJTextField();setJMenuBar(menubar); con.add(text,BorderLayout.SOUTH);} publicvoidactionPerformed(ActionEvente){ text.setText(e.getActionCommand()+菜单项被选中! ";)}} publicclassTest29extendsApplet{ MenuWindowwindow; StringmenuList[][]={{体育","跑步","打蓝球","打乒乓"} {〃娱乐〃,〃唱歌〃,〃跳舞〃}} publicvoidinit(){ window=newMenuWindow("体育娱乐之窗menuList); window.setVisible(true);}} 30.以下是一个用鼠标自由作画的小应用程序。 最简单的方法是根据鼠标所在位置画点,跟随鼠标的移动, 不断画圆点,就能实现用鼠标作画。 importjava.awt.*; importjava.awt.event.*; publicclassTest30extendsjava.applet.AppletimplementsMouseMotionListener{ Colorcolor;intlineSize=2: intx=-1,y=-l; publicvoidinit(){ setLocation(30,20);setSize(300,300); setBackground(Color.green);addMouseMotionListener(this);} publicvoidpaint(Graphicsg){ if(x! =-1&&y! =-1){ g.setColor(color);g.fillOval(x,y,1ineSize,lineSize);}} publicvoidmouseMoved(MouseEvente){} publicvoidmouseDragged(MouseEvente){ x=e.getX();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){ try{;}catch(InterruptedExceptipne){}} newData=false;notify();returndata;} synchronizedvoidputData(intn){ while(newData){ try{wait();}catch(InterruptedExceptione){}} data=n;; notify();return;}} 五、程序分析题(本大题共5小题,每小题4分,共20分) 32•阅读下列程序,请写出该程序的输出结果。 classParent{ }}classChildextendsParent{ publicstaticvoidmain(Stringargs[]){Parentp=newChild();p.method2();}} 33.阅读下列程序,请写出该程序的功能。 importjava.util.*;importjavax.swing.*; publicclassTest33{ publicstaticvoidmain(Stringargs[]){ Stringstr=(StringJOptionPane.showInputDialog(null,"请输入信息", "输入对话框",JOptionPanePLAIN_MESSAGE,null,null,null); StringTokenizerpas=newStringTokenizer(str," intn=pas.countTokens(); while(pas.hasMoreTokens()){ Strings=pas.nextToken(); }} 34.阅读下列程序,请用示意图画出程序运行时呈现的界面。 importjava.applet.*;importjava.awt.*;importjavax.swing.*;classMyPanelextendsJPanel{ JTextFieldtextl,text2; MyPanel(Stringsl,Strings2){ textl=newJTextField(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(一个示意窗口"; mw.setSize(350,150); Containercon=mw.getContentPane(); con.setLayout(newBorderLayout()); MyPanelpl=newMyPanel(文本框I';"文本框2”;) MySubPanelp2=newMySubPanel(文本框3","文本框4”,"文本框5 JTextAreatext=newJTextArea(这里是一个文本区"; con.add(pl,"North;)con.add(p2,"South;) con.add(text,"Center;n)w.setVisible(true);}} 35.阅读下列程序,请写出该程序的功能。 publicclassClass1extendsAppletimplementsKeyListener{ JButtonbutton=newJButton(开始"”; JTextAreatext=newJTextArea(5,20); publicvoidinit(){ button.addKeyListener(this);add(button);add(text);} publicvoidkeyPressed(KeyEvente){ intt=e.getKeyCode(); if(t>=KeyEvent.VK_A&&t<=KeyEvent.VK_Z){ publicvoidkeyTyped(KeyEvente){} publicvoidkeyReleased(KeyEvente){}} 36.阅读下列程序,请写出该程序的功能。 importjava.applet.*;importjava.awt.*; ThreadmyThread=null; doubleseta=0.0; publicvoidstart(){ setSize(500,400); if(myThread=null){myThread=newThread(this);myThread.start();}} publicvoidrun(){ while(myThread! =null){ try{myThread.sleep(40);}catch(InterruptedExceptione){} seta+=3.0;if(seta>=360)seta=0;repaint();}} publicvoidpaint(Graphicsg){ finaldoublepi=3.14159;finaldoubler=100.0; intx0=250+(int)(r*Math.cos(3.1415926/180.0*seta)); inty0=200+(int)(r*Math.sin(3.1415926/180.0*seta)); g.setColor(Color.red);g.drawOval(x0,y0,10,10);}} 六、程序设计题(本大题共2小题,每小题6分,共12分) 37.请编写方法voidstrReverse(Stringstr),该方法的功能是输出一个新字符串,新字符串字符排列顺序与原字符串str的字符排列顺序相反。 例如,strReverse("ABCD所输出的结果是"DCBA。 请使用字符串与字节数组的相互转换方法进行设计。 38.请设计实现如下用于输入学号和姓名的对话框界面,其中空白格是文本框,用于输入相应的内容。 这里给出的是程序的一部分,你要编写的是类InputNoNameDialog的构造方法 f,Strings,JTextFieldt)。 其中参数f是对话框的依赖窗口,s是对话框标题, 输入内容的文本框。 以下是类InputNoNameDialog的程序框架。 classInputNoNameDialogextendsJDialogimplementsActionListener{ JLabeltitle;JTextFieldtextl,text2,mainText;JButtondone; InputNoNameDialog(JFramefStrings,JTextFieldt){ super(f,s,true);mainText=t;Containercon=getContentPane(); title=newJLabel(s);textl=newJTextField(10); text2=newJTextField(10);con.setLayout(newGridLayout(3,2)); con.setSize(200,100);setModal(false); //请在以下位置续写其余代码 } publicvoidactionPerformed(ActionEvente){ //输入结束按确定按钮后,将对话框中输入的学号和姓名在它依赖窗口的文本框中显示。 mainText.setText(学号: "+textl.getText()+姓名+text2.getText()) setVisible(false);dispose(); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 精编 高等教育 自学考试 Java 语言程序设计 试题