文档库

最新最全的文档下载
当前位置:文档库 > 月全国自考Java语言程序设计方案(一)试题

月全国自考Java语言程序设计方案(一)试题

全国2018年10月自学考试Java语言程序设计(一>试卷

课程代码:04747

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

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

1.下面供选字符序列中,不属于

...Java语言关键字的是 ( >

A. throw

B. synchronized

C. protect

D. try

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

double x = 25.6。

System.out.println((int>x << 1>。

A. 48

B. 50

C. 51

D. 52

3.在以下供选择的概念中,不属于

...面向对象语言概念的是 ( >

A.类 B.函数

C.动态联编 D.抽象

4.在Java语言中,能够实现字符串连接的方法是 ( >

A. String substring(int startpoint>

B. String concat(String s>

C. String replace(char old,char new>

D. String trim(>

5.在以下供选择的容器类中,属于顶层容器的是 ( >

A.JDialog B.JPanel

C.JScrollPane D.JToolBar

6.在以下选项中,属于MouseListener接口的方法是 ( >

A.mouseDoubleClicked(MouseEvent> B.mouseDragged(MouseEvent>

C.mouseMoved(MouseEvent> D.mousePressed(MouseEvent>

7.设已经有Graphics2D对象g2d,Line2D对象line,绘制对象line的代码是( >

A.g2d.draw(1ine> B.g2d.drawLine(1ine>

C.1ine.draw(> D.1ine.drawLine(>

8.设Thread对象thd的优先级为7,thd又创建了另一个Thread对象chd,如果未对chd 的优先级进行修改,则chd的优先级为 ( >

A.1 B. 5

C.7 D. 10

9.在以下供选择的操作中, File对象能够提供的操作是 ( >

A.删除文件 B.读写文件

C.打开文件 D.查询文件属性

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

A.建立新数据库连接 B.设置查询命令

C.创建SQL语句对象 D.存储查询结果

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

请在每小题的空格中填上正确答案。错填、不填均无分。

11.Java语言是一种 _______ 语言,它约束程序员必须遵守规定编写程序,能让编译器检测出程序中尽可能多的错误。

12.在Java语言中, _______ 语句用于表示出现在该文件中的所有类都属于这个程序包。

13.在Java程序系统中,对象之间的交互通过相互发送 _______ 实现。

14.数组每个元素按存储顺序对应一个下标,下标从 _______ 开始顺序编号。

15.用Swing编写GUI程序时,通常用 _______ 类派生的子类创建窗口对象。

16.强制型对话框强制对话过程 _______ ,直至对话过程结束,才让程序响应对话框以外的事件。17.在Graphics类中,用于在指定的位置显示字符串的方法是 _______ 。

18.在Java中,线程的调度策略采用_______,优先级高的线程比优先级低的优先执行。19.字符流数据中使用的Unicode字符有_______位二进制位。

20.http://www.wendangku.net/doc/187d5612571252d380eb6294dd88d0d232d43c5c.html包中有 _______ 类,它的对象用于存储IP地址和域名。

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

21.请使用for循环语句实现计算的值。

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

23.请写出代码段,用来创建一个标签对象lbl,显示文字为“Java”,背景色设为绿色。

24.请写出JComboBox对象上可能发生的两种事件类型的名字。

25.请写出线程从阻塞状态恢复到就绪状态的三种途径。

26.请写出URIConnection类提供的获得输入输出流对象的方法和实现网络连接的方法。

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

27. 方法 void moveOddForward(int a[]>的功能是将数组中的所有奇数移到所有偶数之前。

void moveOddForward(int a[]>{

for(int i=0,odd=0。________。i++>

if(________>{

int t=a[i]。a[i]=a[odd]。a[odd]=t。odd++。

}

}

28.以下程序片段定义由JFrame类派生的子类MyWindowDemo。类MyWindowDemo 的构造方法有五个参数:窗口的标题名,加入窗口的按钮,按钮的背景颜色,以及窗口的宽和高。

class MyWindowDemo extends JFrame {

public MyWindowDemo(String name, JButton button, Color c, int w, int h>{

setTitle(name>。 setSize(w, h>。

Container contentPane =_______。

contentPane. _______。

button.setBackground(c>。

}

}

29.小应用程序有一个按钮和一个文本区,按钮作为发生键盘事件的事件源,并对键盘

事件实施监视。程序运行时,先点击按钮,让按钮激活。以后输入英文字母时,在

文本区显示输入的字母。

import java.applet.*。import javax.swing.*。

import java.awt.event.*。

public class Test29 extends Applet implements _______{

JButton button = new JButton(>。

JTextArea text = new JTextArea(5, 20>。

public void init(>{

button.addKeyListener(this>。 add(button>。 add(text>。

}

public void keyPressed(KeyEvent e>{

int t = e. _______ 。

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

text.append((char>t+" ">。

}

}

public void keyTyped(KeyEvent e>{ }

public void keyReleased(KeyEvent e>{ }

}

30.以下程序的界面有一个文本区text,一个按钮button。程序运行时,单击按钮,则

将文本区中的内容输出到out,其中out为BufferWriter类的一个对象。

public void actionPerformed(ActionEvent e>{

String s。

if(e._______== button>{

try {

out. _______(text.getText(>,0,(text.getText(>>.length(>>。

out. flush(>。

text.setText(null>。

System.exit(0>。

} catch(IOException exp>

{text.setText("文件定出错! \n">。 System.exit(-1>。}

}

}

31.数据库连接方法connectByJdbcOdbc(>按给定的数据库URL、用户名和密码连接数

据库,如果连接成功,方法返回连接对象,连接不成功,则返回空。

public static Connection connectByJdbcOdbc(String url, String usemame, String password>{ Connection con = null。

try {Class. _______("sun.jdbc.odbc.JdbcOdbcDriver">。

} catch (Exception e> {

e.printStackTrace(>。

return null。

}

try {

con =_______.getConnection(url, usemame, password>。

catch (SQLException e> {

e.printStackTrace(>。

return null。

}

return con。

}

}

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

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

class Test32a {

String name。 int age。 long number。

Test32a(long number, String name,int age> {

System.out.println("Name: "+name>。

System. out. println("Age: "+age>。

System.out.println("Tel: " +number>。

}

}

class Test32b extends Test32a {

Test32b(long number, String name,int age,boolean b> {

super(number, name,age>。 System.out.println("Married: "+b>。

}

}

public class Test32 {

public static void main(String args[]> {

Test32b abe=new Test32b(4747,"Tony",29,true>。

}

}

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

class Test33 {

String myString = "1"。

public static void main(String args[]>{

Test33 myObj = new Test33(>。

myObj.stringModifier(myObj.myString>。

System.out.println(" "+ myObj.myString>。

}

void stringModifier(String theString>{

theString = theString + "2"。 System.out.print(theString>。

}

}

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

import java.awt.*。 import java.awt.event.*。 import java.applet.*。public class Test34 extends Applet implements ActionListener {

String msg = ""。 Button bList[] = new Button[3]。

public void init(> {

Button yes = new Button("Yes">。 Button no = new Button("No">。

Button maybe = new Button("Undecided">。

bList[0] = (Button> add(yes>。 bList[ 1 ] = (Button> add(no>。

bList[2] = (Button> add(maybe>。

for(inti= 0。i < 3。 i++> { bList[i].addActionListener(this>。 }

}

public void actionPerformed(ActionEvent ae> {

for(int i = 0。i < 3。 i++> {

if(ae.getSource(> == bList[i]> {

msg = "You pressed "+ bList[i].getLabel(>。

}

}

repaint(>。

}

public void paint(Graphics g> { g.drawString(msg, 6, 100>。 }

}

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

import java.awt.event.*。 import javax.swing.*。 import java.awt.*。

public class MenuWindow extends JFrame implements ActionListener {

JTextField text = new JTextField(>。

JMenuBar menuBar。 JMenu menuFruits。

JMenultem menultem1,menultem2,menultem3。

public MenuWindow(> {

menuBar = new JMenuBar(>。 setJMenuBar(menuBar>。

menuFruits = new JMenu("水果">。 menuBar.add(menuFruits>。

menultem 1 = new JMenultem("苹果">。 menultem1 .addActionListener(this>。

menuFruits.add(menultem1 >。

menultem2 = new JMenultem("桔子">。 menultem2.addActionListener(this>。

menuFruits.add(menultem2>。 menuFruits.addSeparator(>。

menultem3 = new JMenultem("退出">。 menultem3.addActionListener(this>。

menuFruits.add(menultem3>。

Container con = getContentPane(>。

con.add(text>。 setSize(200,150>。 setVisible(true>。

}

public void actionPerformed(ActionEvent e> {

if (e.getActionCommand(> == "退出"> System.exit(0>。

else text.setText(e.getActionCommand(>>。

}

public static void main(String args[]> {

MenuWindow mw = new MenuWindow(>。

}

}

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

class MyThread extends Thread {

String message。 int s。

MyThread(String message, int sec> { this.message = message。 s = sec。 }

public void run( > {

try{ sleep(s>。 }catch(InterruptedException e>{}

System.out.println(message+" "+getPriority( >>。

}

}

class ThreadTest {

public static void main(String args[]>{

Thread foo = new MyThread("Foo", 1000>。

foo.setPriority(Thread.MIN_PRIORITY>。 foo.start( >。

Thread bar = new MyThread("Bar",800>。

bar.setPriority(3>。 bar.start( >。

Thread gar = new MyThread("Gar",400>。

gar.setPriority(7>。 gar.start( >。

Thread kar = new MyThread("Kar", 100>。

kar.setPriority(Thread. MAX_PRIORITY>。 kar.start( >。

}

>

注:假设处理机中没有其它线程占用资源。

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

37.请编写一个方法int findMaximum(int[][]numbers>,要求该方法返回二维数组中元素的最大值。

38.小应用程序的paint(Gmphics g>方法能在屏幕窗口上显示信息和绘图,如果paint(>方法能调用repaint(>方法,这就能使显示实现动态效果,repaint(>方法的功能是先清除paint(>方法以前所画的内容,然后再调用paint(>方法。

以下要你编写的paint(>方法取随机的坐标位置画一个边长为20个像素的红色正方形。其中随机的坐标位置可以用以下表达式表示:

(int>(Math.random(>*100>+10

另要求paint(>方法在绘制正方形后暂停100毫秒。

import java.applet.*;import java.awt.*;

public class Class 1 extends Applet{

public void paint(Graphicsg>{

∥请在以下位置编写代码

}

}