文档库

最新最全的文档下载
当前位置:文档库 > 自考java2009年10月真题及答案

自考java2009年10月真题及答案

2009年10月全国自考Java语言程序设计(一)真题及答案

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

自考java2009年10月真题及答案

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

A:goto B:null C:false D:native

自考java2009年10月真题及答案

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

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

A:36B:36.5C:37D:true

自考java2009年10月真题及答案

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

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

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

自考java2009年10月真题及答案

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

String s=″0123456789″,s1,s2;

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

A:0122345B:234567892345C:012234D:23456789234

自考java2009年10月真题及答案

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

A:从上到下排列B:从左到右排列C:从下到上排列D:从右到左排列

自考java2009年10月真题及答案

6.程序执行方法showOpenDialog(),能打开“打开文件对话框”,如果该方法的返回值是JFileChooser.APPROVE_OPTION,则用户执行的动作是() (1分)

A:对话框非正常关闭B:按下“打开/保存”按钮

C:按下“撤销”按钮D:重新输入了一个文件名

自考java2009年10月真题及答案

7.设已经有Graphics2D对象g2d,Rectangle2D对象r,绘制对象r的代码是() (1分)

A:g2d.draw(r)B:g2d.drawRect(r)C:r.draw()D:r.drawRect()

自考java2009年10月真题及答案

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

A:start()B:init()C:resume()D:run()

自考java2009年10月真题及答案

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

A:readChar()B:readLong()C:readInteger()D:writeChars()

自考java2009年10月真题及答案

10.某程序利用网址参数创建URL对象url,接着希望利用对象url获得URLConnection对

象,则这个url对象要调用的方法是() (1分)

A:connection()B:URLConnection()C:getConnection()D:openConnection()

二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。

自考java2009年10月真题及答案

1.一个应用程序必须在某个类中定义的方法是。(2分)

自考java2009年10月真题及答案

2.import语句的格式是。(2分)

自考java2009年10月真题及答案

3.在面向对象语言中,对象之间的交互通过实现。(2分)

自考java2009年10月真题及答案

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

分)

自考java2009年10月真题及答案

5.一个基于Swing的应用程序可能在任何平台上都会有相同的。(2分)

自考java2009年10月真题及答案

6.处理键盘事件的Java程序,要实现的接口是。(2分)

自考java2009年10月真题及答案

7.Java语言约定,坐标原点位于绘图区域的。(2分)

自考java2009年10月真题及答案

8.Java程序中,在临界段中使用方法,使执行该方法的线程等待。(2分)

自考java2009年10月真题及答案

9.BufferedWriter类对象能按行输入文件的内容,按行输入的方法是。(2分)

自考java2009年10月真题及答案

10.在http://www.wendangku.net/doc/4c35ec6e1ed9ad51f01df209.html包中有InetAddress类的定义,Java程序中的InetAddress类对象存储的内容是。(2分)

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

自考java2009年10月真题及答案

1.请写出实现计算y=|x|的if语句。(3分)

自考java2009年10月真题及答案

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

class Test22{//1

float u;static float v;//2

static void setUV(boolean f){//3

u=fac1(f);//4

v=fac2(!f);}//5

static float fac1(boolean f){return f ?u:v;}//6

float fac2(boolean f){return f ?v:u;}//7

}//8 (3分)

自考java2009年10月真题及答案

3.在java.awt.event中,用来检测并对事件做出反应的模型涉及三种对象。请写出这三种对象。(3分)

自考java2009年10月真题及答案

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

自考java2009年10月真题及答案

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

自考java2009年10月真题及答案

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

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

自考java2009年10月真题及答案

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

static int sigmaEvenNum(int []a){

int s =0;

for ( int i=0;;i++ ) {

if() s++;

}

return s;

}

(2分)

自考java2009年10月真题及答案

2.某小应用程序窗口包含有文本区dispArea,以及一个带文字“追加”的按钮。当点击这个按钮时,程序弹出一个输入信息的对话框,并将对话框中输入的内容追加到文本区中。以下是其中相应“追加”按钮事件的方法。

public void actionPerformed(ActionEvent e){

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

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

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

dispArea.(result + " ");

}

}

(2分)

自考java2009年10月真题及答案

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

class Panel extends JPanel implements ItemListener{

static JRadioButton box[];

ButtonGroup g;

Panel(String radioNameList[]) {

box=new JRadioButton[radioNameList.length];

setLayout(new GridLayout(1, radioNameList.length));

g=new ButtonGroup();

for(int i=0;i

box[i]= new JRadioButton(,false);

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

}

}

public void itemStateChanged(ItemEvent e){

for(int i = 0; i < box.length; i++){

if(box[i].) {

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

}

}

}

} (2分)

自考java2009年10月真题及答案

4.用getImage()方法和drawImage()方法能加载和显示图像。以下程序加载的是seattle.jpg文件,并假定该文件与包含这个小应用程序的HTML文件在同一个目录下。

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

public class SimpleImageLoad extends Applet{

Image img;

public void init() {

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

}

public void paint(Graphics g) {

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

}

} (2分)

自考java2009年10月真题及答案

5.以下程序段定义的类ShareDataManager用于管理多个线程共享数据data。为了对data的取、存和修改操作保持完整,多线程在data上的操作有互斥要求;另外,限制线程对data的修改不能让data为负数,所以多线程在data上的操作还有同步要求。为此,程序为管理data上的操作定义成类,以下是管理共享数据data的类ShareDataManager的代码。

class ShareDataManager {

int data;

ShareDataManager(int init){data = init; }

public int getData(){ return data;}

private void putData(int newValue){ data = newValue;}

synchronized void modiData(int delta){

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

} else {

while (<0) {

try {wait(); } catch (InterruptedException e) { }

}

putData(getData()+ delta);

}

;

}

} (2分)

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

自考java2009年10月真题及答案

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

class Tree {

private String name;public boolean flower;

public int birthYear;

Tree(String n, boolean f, int y){ name = n; flower = f; birthYear = y; } public void setName(String n){name = n;}

public String getName(){return name; }

public void printTree(String str){

System.out.println(str);System.out.println("Name:"+name);

System.out.println("Birth Year:"+birthYear);

System.out.println("Flower:"+flower);

}

}

class PineTree extends Tree {

public boolean coniferous = true;

PineTree(String n, boolean f, int y, boolean c){super(n, f, y);coniferous = c; }

public void printTree(String str){

super.printTree(str);

System.out.println("Coniferous:" + coniferous);

}

}

class Test32 {

public static void main(String[]args){

Tree fOb = new Tree("May Flower", true, 1980); PineTree sOb = new PineTree("Pine", false, 2000, true); fOb.printTree(" fOb:"); sOb.printTree("sOb:");

}

} (4分)

自考java2009年10月真题及答案

2.阅读下列程序,请写出该程序的输出结果。class Test33 {

static void s(int b[], int k) {

int i, j, t;

for(i = 1;i< k; i++) {

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

b[j+1]= b[j];

b[j+1]= t;

}

}

public static void main(String []args){

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

s(a, 5);

for(i = 0;i

}

} (4分)

自考java2009年10月真题及答案

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

import java.applet.*;import javax.swing.*;

import java.awt.*;import java.awt.event.*;

public class Test34 extends Applet implements ActionListener { JTextField text;int r; JPanel panel;

public void paint(Graphics g){

Graphics gc = panel.getGraphics();

gc.clearRect(0,0, panel.getWidth(), panel.getHeight());

gc.setColor(Color.red); gc.fillOval(10, 10, r, r);

}

public void init() {

text = new JTextField(10); panel = new JPanel();

setSize(200, 100); setLayout(new GridLayout(2,1));

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

}

public void actionPerformed(ActionEvent e) {

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

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

repaint();

}

}

} (4分)

自考java2009年10月真题及答案

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

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

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

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

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

import javax.swing.*;import java.awt.*;

import java.awt.event.*; import java.util.*;

class MyDialog extends JDialog {

MyDialog(JFrame F, String s) {

super(F, s, false); Date date = new Date();

String t = date.toString(); JLabel text = new JLabel(t);

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

}

}

public class MenuDemo extends JFrame implements ActionListener {

JMenuBar menubar; JMenu action;

JMenuItem show, set, quit;

public MenuDemo() {

menubar = new JMenuBar();setJMenuBar(menubar);

action = new JMenu("操作");menubar.add(action);

show= new JMenuItem("显示");action.add(show);

set = new JMenuItem("设置");action.add(set);

action.addSeparator();quit = new JMenuItem("退出");

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

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

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

}

public void actionPerformed(ActionEvent e) {

if(e.getSource() == show) {MyDialog diag = new MyDialog(this, "信息");} else if(e.getSource()== set) { this.setTitle("菜单演示");}

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

}

public static void main(String[]args) {new MenuDemo();}

} (4分)

自考java2009年10月真题及答案

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

class CurrentThreadDemo {

public static void main(String args[]) {

Thread t = new Thread();System.out.println("Current thread");

t.setName("My Thread");System.out.println("After name change");

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

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

}

} catch (InterruptedException e) {

System.out.println("Main thread interrupted");

}

}

} (4分)

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

自考java2009年10月真题及答案

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

自考java2009年10月真题及答案

2.以下程序的界面有一个按钮button、一个文本区textA和一个文本框textF。程序运行时,在文本区中输入数字序列,单击按钮,则在文本框中显示数字序列的和。以下是要求你编写的actionPerformed(ActionEvent e)方法的部分代码。

public void actionPerformed(ActionEvent e) {

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

String s = textA.getText(); double sum =0;

StringTokenizer fenxi = new StringTokenizer(s, " ,\n");

//请在以下位置编写代码

}

} (6分)

参考答案

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

1:参考答案:C

参考解析:暂无解析

试题内容:

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

A:goto

B:null

C:false

D:native

2:参考答案:A

参考解析:暂无解析

试题内容:

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

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

A:36

B:36.5

C:37

D:true

3:参考答案:A

参考解析:暂无解析

试题内容:

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

A:不能被继承

B:在子类的方法中不能被调用

C:能被别的程序自由调用

D:不能被子类的方法覆盖

4:参考答案:D

参考解析:暂无解析

试题内容:

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

String s=″0123456789″,s1,s2;

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

A:0122345

B:234567892345

C:012234

D:23456789234

5:参考答案:B

参考解析:暂无解析

试题内容:

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

A:从上到下排列

B:从左到右排列

C:从下到上排列

D:从右到左排列

6:参考答案:B

参考解析:暂无解析

试题内容:

程序执行方法showOpenDialog(),能打开“打开文件对话框”,如果该方法的返回值是JFileChooser.APPROVE_OPTION,则用户执行的动作是()

A:对话框非正常关闭

B:按下“打开/保存”按钮

C:按下“撤销”按钮

D:重新输入了一个文件名

7:参考答案:A

参考解析:暂无解析

试题内容:

设已经有Graphics2D对象g2d,Rectangle2D对象r,绘制对象r的代码是()

A:g2d.draw(r)

B:g2d.drawRect(r)

C:r.draw()

D:r.drawRect()

8:参考答案:C

参考解析:暂无解析

试题内容:

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

A:start()

B:init()

C:resume()

D:run()

9:参考答案:C

参考解析:暂无解析

试题内容:

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

A:readChar()

B:readLong()

C:readInteger()

D:writeChars()

10:参考答案:D

参考解析:暂无解析

试题内容:

某程序利用网址参数创建URL对象url,接着希望利用对象url获得URLConnection对象,则

这个url对象要调用的方法是()

A:connection()

B:URLConnection()

C:getConnection()

D:openConnection()

二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。

1:参考答案:main()

试题内容:

一个应用程序必须在某个类中定义的方法是_____。

2:参考答案:import包名.类名;

试题内容:

import语句的格式是_____。

3:参考答案:相互发送消息

试题内容:

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

4:参考答案:是否引用同一个对象

试题内容:

设有两个字符串对象str1和str2,则表达式“str1==str2”的意义是判别字符串str1和str2_____。5:参考答案:外观与风格

试题内容:

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

6:参考答案:KeyListener

试题内容:

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

7:参考答案:左上角

试题内容:

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

8:参考答案:wait()

试题内容:

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

9:参考答案:readLine()

试题内容:

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

10:参考答案:IP地址和域名

试题内容:

在http://www.wendangku.net/doc/4c35ec6e1ed9ad51f01df209.html包中有InetAddress类的定义,Java程序中的InetAddress类对象存储的内容是_____。

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

1:参考答案:if(x>=0)y=x;

elsey=-x;

试题内容:

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

2:参考答案:4,5,6行错误

试题内容:

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

class Test22{//1

float u;static float v;//2

static void setUV(boolean f){//3

u=fac1(f);//4

v=fac2(!f);}//5

static float fac1(boolean f){return f ?u:v;}//6

float fac2(boolean f){return f ?v:u;}//7

}//8

3:参考答案:源对象、监视器对象、事件对象

试题内容:

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

4:参考答案:Font fn=new Font("Courier",Font.BOLD,18);

g.setFont(fn);

试题内容:

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

5:参考答案:FileInputStream(String name)

FileInputStream(File filename)

FileOutputStream(String name)

FileOutputStream(File filename)

试题内容:

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

6:参考答案:流式socket和数据报式socket

试题内容:

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

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

1:参考答案:i

a[i]%2==0

,

试题内容:

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

static int sigmaEvenNum(int []a){

int s =0;

for ( int i=0;_____;i++ ) {

if(_____) s++;

}