最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

2014年4月自考Java语言程序设计(一)试题及答案资料

来源:动视网 责编:小OO 时间:2025-09-29 19:33:33
文档

2014年4月自考Java语言程序设计(一)试题及答案资料

绝密★考试结束前全国2014年4月高等教育自学考试Java语言程序设计(一)试题及答案课程代码:04747请考生按规定用笔将所有试题的答案涂、写在答题纸上。选择题部分注意事项:1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有
推荐度:
导读绝密★考试结束前全国2014年4月高等教育自学考试Java语言程序设计(一)试题及答案课程代码:04747请考生按规定用笔将所有试题的答案涂、写在答题纸上。选择题部分注意事项:1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有
绝密 ★ 考试结束前

全国2014年4月高等教育自学考试

Java语言程序设计(一)试题及答案

课程代码:04747

请考生按规定用笔将所有试题的答案涂、写在答题纸上。

选择题部分

注意事项:

 1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。

 2. 每小题选出答案后,用2 B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。

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

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。

1.以下标识符中,不是Java语言关键字的是A

A.wait     B.new

C.long     D.switch

2.以下数据类型转换中,必须进行强制类型转换的是A 高到低就需要强制

A.int→char     B. short→long

C.float→double     D. byte→int

3.以下供选择的概念中,属于面向对象语言重要概念和机制之一的是C

A.函数调用     B.模块

C.继承     D.结构化

4.以下Java程序代码中,能正确创建数组的是C

A.int myArray[]; myArray[]=new int[5]; 

B.int myArray[]=new my(5);

C.int[]myArray={1,2,3,4,5};

D.int myArray[5]={1,2,3,4,5};

5.某Java程序的类A要利用Swing创建框架窗口,则A需要继承的类是B

A.JWindow     B.JFrame

C.JDialog     D.JApplet

6.MouseMotionListener接口能处理的鼠标事件是D

7.A.按下鼠标键     B.鼠标点击

C.鼠标进入     D.鼠标移动

7.以下术语中,属于文字字型风格属性的是C

A.颜色     B.宋体

C.斜体     D.字号

8.以下能作为表示线程优先级的数值,并且级别最低的是B

A.0     B.1

C.1 5     D.1 6

9.某Java程序用javax.swing包中的类JFileChooser来实现打开和保存文件对话框。该程序 通过文件对话框首先获得的信息是D

A.文件长度     B.文件路径

C.文件内容     D.文件对象

1 0.在编写访问数据库的Java程序时,ResultSet对象的作用是B

A.用来表示与数据库的连接     B.存储查询结果

C.在指定的连接中处理SQL语句     D.建立新数据库连接

非选择题部分

注意事项:

用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。

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

11.类Testll经Java编译程序编译后,产生的文件是 __Test11.class____。

12.表达式“45&20”的十进制值是 __4_。

13.如果类A继承和扩展类B,则子类A和超类B之间的关系是 ___ is-a__。

14.Java语言提供的用于处理不可改变的字符串类是 ____。 String 类

15.要使得已注册的按钮对象暂时不响应事件,需使用的方法是______。setEnabled( )

1 6.一个水平滚动条对象的初始值是1 50,滑块的宽是8个像素,表示的范围是[0,300]。 创建这样的滚动条对象时,提供的最后2个参数依次是______。0,300

17.某应用程序定义的类C17是JPanel的子类,在类C17的对象中需要绘图,则在类 C17中应重写的方法是 ______。paintComponent( )

18.当线程进入临界段后,发现需要与别的线程进行同步,则要调用的方法 是 ______。wait( )

19.某程序想要随机读写字符文件,能支持这个要求的类是______。RandomAccessFile

20.某应用程序已经声明了InetAddress对象addr,现要用域名www.baidu.com创建addr 对象,能实现这样要求的代码是addr =InetAddress.(“www.baidu.com”)______;。 addr =InetAddress._getByName(“www.baidu.com”)_

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

21.已知变量n,请写出使用for语句计算的代码。

 答:double S=0.0; for(int i=1; i22.请写出接口体中可能包含的内容。

包括方法和属性

答:包含常量定义和方法定义两部分。

23.请写出对事件对象作监视器注册的作用。

 答:事件对象作监视器注册后,系统才会把该对象上发生的事件通知到监视对象。

24.已知Graphics对象g,获得Graphics2D对象g2d,然后,用圆角长方形类创建对象 circle,该对象的左上角坐标是(30,40),半径是50。请写出实现以上要求的Java代 码。

答: 

Graphics2D g2d = (Graphics2D)g; 

RoundRectangle2D circle = new RoundRectangle2D.Double(30,40,100,100,100); 

25.某程序希望用FileFilter类的子类为打开文件对话框设置文件筛选条件。请写出设置 此筛选条件要使用的类及相应的方法。

 答:使用的类为 JFileChooser 类,相应的方法是 addChooserFileFilter() 或者 setFileFilter()

26.JDBC是Java程序与数据库连接的API。请写出JDBC能做的三件事情。

创建数据库;查询数据;更新删除数据

答:与某个数据库建立连接,向数据库发送 SQL 语句和处理数据库返回结果。

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

27.方法void moveOddFront (int a[])的功能是将数组a中的所有奇数都移到数组的前端, 而把偶数放于所有奇数的后面,其方法是当发现是偶数时,就让该数留在原来位置, 当发现是奇数时,就与前面的第一个偶数交换。程序引入变量odd表示移动过程中 遇到的奇数个数。

void moveOddFront(int a[]){

for(int i=0, odd=0; ___iif( a[i] %2 == 1){

int t = a[odd]; a[odd]=a[i]; a[i]=t;____odd++__;

28.以下程序的界面包含一个文本区text和一个允许多选的列表list,列表的条目存于字 符串数组sports[]中,当列表发生选择事件时,事件处理程序将这次选中的所有条目 在文本区中输出。这里给出的是其中处理列表事件的方法。

public void valueChanged(____ListenerSelectionEvent____e){

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

text.setText(null);

int tempList[]=list. getSelectedIndices();∥获得选中索引表

for (int i=0;i < tempList.length; i++)∥对索引表中的每个元素显示被选中字样

text.append(sports[___tempList[i]___]+":被选中\\n");

29.以下应用程序创建一个窗口,窗口内放置一个面板,在面板中显示一张图片和一段 文字。

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

public class Test29 {

public static void main(String[] args) {

MyFrame frame = new MyFrame();

class MyFrame extends JFrame {

public MyFrame(){

setTitle("Test29");   setSize(300, 200);

Toolkit tool=___getToolkit( )___;

getContentPane().add(new MyPanel (img));

setVisible(true);

class MyPanel extends JPanel{

Image myImg;

MyPanel(Image img){ myImg=img;}

public void paintComponent(Graphics g) {

if(myImg!=null)g.___drawImage___ (myImg, 100,30,this);

g.drawString("我是一名自考生!",100, 140);

}

}

30.类ShareDataManager用于管理多个线程共享数据data,其中定义了一个供线程修改 data的方法modiData()。为了对data的修改操作保持完整,多线程在data上的操作 有互斥要求;另外,线程对data的修改不能让data为负数,所以多线程在data 上的操作还有同步要求。以下是类ShareDataManager的定义。

class ShareDataManager{

int data;

ShareDataManager(int init){data=init;}

synchronized void modiData(int delta){

if (data+delta>=0){ data+=delta;

} else {

while (data+delta<0){

try{__wait( )____}

catch (InterruptedException e){}

}

data+=delta;

}

__notify( )____;

}

}

31.某个缓冲式输出的示意程序的界面有一个文本框fileOut和一个文本区text,程序运 行时,先在文本区中输入要存入文件的内容,接着在文本框中输入文件名并回车, 则程序将文本区中的内容保存到指定的文件中。以下是该程序中相应文本框文件名 的输入事件的方法。

public void actionPerformed(ActionEvent e){

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

try{

out = new BufferedWriter(new __FileWriter(fileOut.getText( ))____ );

out.___write(text.getText( ))___ ;

out.flush(); out.close(); text.setText(null);

} catch (FileNotFoundException el){

System.out.print("文件没有找到!\n");

}catch (IOException exp){

System.out.print("文件读写出错!\n");

}

}

}

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

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

class Mother{

public voicl methodl(){

System.out.println("Call Mother's methodl()");

}

public void method2(){

System.out.println("Call Mother's method2()");   methodl();

}

}

class Girl extends Mother{

public void methodl(){

System.out.println("Call Girl's methodl()");

}

public static void main(String args[]){

Girl g= new Girl();  g.method2();

}

}

答: Call Mother's method2() Call Girl's method1() 

33.阅读下列程序,请写出调用Test33(4)的输出结果。

public static void Test33(int n){

int i,j,a[][]=new int[n][n];

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

if(i%2==0) i 2 4 

for(j=0;j<4;j++)

a[i][j]=j+1;

else for (j=n-l;j>=0;j--)

a[i][j]=n-j;

}

for(i=0;ifor(j=0;jSystem.out.print("t"+ a[i][j]);

System.out.println();

}

}

答: 

1 4 1 4

2 3 2 3

3 2 3 2

4 1 4 1

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

(1)在文本框中输入1 7,在文本区中会显示多少行整数,各行有几个数?

(2)如果将程序的第一行删除,程序中标号①~⑨语句中哪些会出现错误?

import java.awt.*;∥问题(2)所指要删除的行

import javax.swing.*;

import java.awt.event.*;

public class Test34 extends JFrame implements ActionListener{

JTextField textF; JTextArea textA;

Test34(){

Container con = getContentPane();         ∥①

con.setLayout(new BorderLayout());         ∥②

textF = new JTextField(10);                 ∥③

textF.addActionListener(this);             ∥④

textA = new JTextArea(6, 10);             ∥⑤

setSize(240, 200);                     ∥⑥

con.add(textF, "North");             ∥⑦

con.add(textA, "Center");             ∥⑧

setVisible(true);                     ∥⑨

public static void main(String[] args){

new Test34();

}

public voicl actionPerformed(ActionEvent e){

int n,d;

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

n = Integer.parseInt(textF.getText());

for (int k=1;k<=n; k++){

d= (int) (Math.ranclom()*1000 % 1000);

textA.append(" "+d);

if(k%5==0)textA.append("");

}

}

}

}

答: 

(1)4 行,各行的数字个数分别是 5、5、5、2。 

(2)第 1 条语句和第 2 条语句。 import java.awt.*;//问题(2)所指要删除的行 import javax.swing.*; import java.awt.event.*; public class Test34 extends JFrame implements ActionListener { JTextField textF; JTextArea textA; Test34() { Container con = getContentPane(); //① con.setLayout(new BorderLayout()); //② textF = new JTextField(10); //③ textF.addActionListener(this); //④ textA = new JTextArea(6, 10); //⑤ setSize(240, 200); //⑥ con.add(textF, "North"); //⑦ con.add(textA, "Center"); //⑧ setVisible(true); //⑨ } public static void main(String[] args) { new Test34();

} public void actionPerformed(ActionEvent e) { int n,d; if(e.getSource()==textF) { n = Integer.parseInt(textF.getText()); for (int k=1;k<=n; k++) { d= (int) (Math.random()*1000%1000); textA.append(" "+d); if(k%5==0)textA.append("\\n"); } } } }

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

(1)程序运行时,呈现的界面中菜单条有哪些菜单?

(2)程序中带注释/*1*/的代码行的作用是什么?

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

class MenuWindow extends JFrame implements ActionListener{

JTextField text;

MenuWindow (String s,String menuList[][]){

setTitle(s);

Container con = this.getContentPane();

con.setLayout(new BorderLayout());

this.setLocation(100, 100); this.setSize(300, 100);

JMenuBar menubar=new JMenuBar();

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

JMenu menu = new JMenu(menuList[i][0]);

for(int j=1;jJMenuItem anItem=new JMlenuItem(menuList[i][j]);

/*1*/      anItem.setActionCommand(menuList[i][j]);

 anItem.addActionListener(this); menu.add(anItem);

}

menubar.add(menu);

}

text = new JTextField(); setjMenuBar(menubar);

con.add(text,BorderLayout.SOUTH);

       }

public void actionPerformed(ActionEvent e){

text.setText("<"+e.getActionCommand()+">菜单项被选中!");

}

}

public class Test35{

public static void main(String[] args){

MenuWindow window;

String menuList[][]={{"体育","跑步","打篮球","打乒乓"},

{"娱乐","唱歌","跳舞"},

{"学习","数学","语文"}};

window=new MenuWindow("菜单示例程序",menuList);

window.setVisible(true);

}

}

答: 

(1)体育、娱乐、学习,三个菜单。 

(2)用菜单项名称设置该菜单项事件源的文字信息。

import javax.swing.*;import java.awt.*;import java.awt.event.*; class MenuWindow extends JFrame implements ActionListener { JTextField text; MenuWindow (String s,String menuList[][]) { setTitle(s); Container con = this.getContentPane(); con.setLayout(new BorderLayout()); this.setLocation(100, 100); this.setSize(300, 100); JMenuBar menubar=new JMenuBar(); for(int i=0;i< menuList.length; i++) { JMenu menu = new JMenu(menuList[i][0]); for(int j=1;j菜单项被选中!");

} } public class Test35 { public static void main(String[] args) { MenuWindow window; String menuList[][]={{"体育跑步打篮球打乒乓"}, {"娱乐唱歌跳舞"}, {"学习数学语文"}}; window=new MenuWindow("菜单示例程序",menuList); window.setVisible(true); } } 

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

(1)程序要求在文本框text中输入的内容是什么?

(2)程序采用什么输入方式下载网络文件?

import java.net.*;        import java.awt.*;

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

public class Test36{

public static void main(String args[]){

new ConnectNet("读取网络文本文件示意程序");

}

}

class ConnectNet extends JFrame implements ActionListener{

JTextField text = new JTextField(30);

JTextArea showArea=new JTextArea();

JButton b= new JButton("下载"); JPanel p= new JPanel();

ConnectNet(String s){

super(s);Container con = this.getContentPane();

p.add(text);    p.add(b);

JScrollPane jsp = new JScrollPane(showArea);

b.addActionListener(this);

con.add(p,"North");  con.add(jsp, "Center");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setSize(500, 400);  setVisible(true);

}

public void actionPerformed(ActionEvent e){

String urlName=text.getText();

try{ URL url: new URL(urlName);∥由网址创建URL对象

URLConnection tc =url.openConnection();∥获得URLConnection对象

tc.connect();∥设置网络连接

InputStreamReader in =

new InputStreamReader(tc.getInputStream());

BufferedReader dis = new BufferedReader(in);

String inLine;

while((inLine=dis.readLine())!=null){

showArea.append(inLine+"");

}

dis.close();

} catch (MalformedURLException e2){e2.printStackTrace();}

catch(IOException e3){ e3.printStackTrace();}

}

}

答: 

(1)网络文本文件的 URL 地址。 

(2)缓冲式输入 import java.net.*;import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class Test36 { public static void main(String args[]) { new ConnectNet("读取网络文本文件示意程序"); } } class ConnectNet extends JFrame implements ActionListener { JTextField text = new JTextField(30); JTextArea showArea=new JTextArea(); JButton b= new JButton("下载"); JPanel p= new JPanel(); ConnectNet(String s) { super(s);Container con = this.getContentPane(); p.add(text); p.add(b); JScrollPane jsp = new JScrollPane(showArea); b.addActionListener(this); con.add(p,"North"); con.add(jsp, "Center"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(500, 400); setVisible(true); } public void actionPerformed(ActionEvent e) { String urlName=text.getText(); try {

URL url= new URL(urlName);//由网址创建 URL 对象 URLConnection tc =url.openConnection();//获得 URLConnection 对象 tc.connect( );//设置网络连接 InputStreamReader in = new InputStreamReader(tc.getInputStream( )); BufferedReader dis = new BufferedReader(in); String inLine; while((inLine=dis.readLine( ))!=null) { showArea.append(inLine+""); } dis.close(); } catch (MalformedURLException e2) {e2.printStackTrace();} catch(IOException e3) { e3.printStackTrace();} } }

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

37.编写方法int[] arrayReverse(int[]a),该方法的功能是返回一个新的数组b,新数组的 元素排列顺序与参数数组的元素排列顺序相反。

答: 

int[] arrayReverse(int[] a) {

     int[] b = new int[a.length];

  for (int i=0;ib[a.length-1-i] = a[i] ; 

return b;

 } 

38.类InputData是用于输入考生考号、课程和成绩的窗口,

窗口的界面如右图所示,其中三个文本框用来输入考号、课

程和成绩。

注:这里是给定程序的部分代码,你要编写的是完成该类的构

造方法。

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

import java.awt.event.*;

public class InputData extends JFrame implements ActionListener{

JTextField noText, markText, courseText;

JButton ok=new JButton("确 定");

public static int no, mark;∥让创建者直接获取考号和成绩

public static String course;∥让创建者直接获取课程名称

InputData(){

super("成绩输入窗");

Container con = getContentPane();

con.setLayout(new GridLayout(4, 1));

noText = new JTextField(12);

courseText = new JTextField(12);

markText = new JTextField(12);

∥请在答题纸相应位置编写代码

con.add(ok);      ok.addActionListener(this);

con.setSize(250, 70);     setVisible(true);     pack();

}

public void actionPerformed(ActionEvent e) {

if (e.getSource() = ok) { ∥读取考号和成绩

no = Integer.parseInt(noText.getText());

course = courseText.getText();

mark = Integer.parseInt(markText.getText());

setVisible(false); dispose();

}

}

public static void main(String[] args) {

new InputData();

}

}

以下一段为答案:----------------------------------------------------------------

JPanel p1 = new JPanel( );

 p1.add(new JLabel("考 号",JLabel.CENTER)); 

p1.add(noText); 

con.add(p1); 

JPanel p2 = new JPanel( ); 

p2.add(new JLabel("课 程",JLabel.CENTER)); 

p2.add(courseText); 

con.add(p2); 

JPanel p3 = new JPanel( ); 

p3.add(new JLabel("成 绩",JLabel.CENTER)); 

p3.add(markText); 

con.add(p3); 

//以上一段为答案-----------------------------------------------------------------

con.add(ok);ok.addActionListener(this); con.setSize(250, 70);setVisible(true);pack(); } public void actionPerformed(ActionEvent e) { if (e.getSource()==ok) { //读取考号和成绩 no = Integer.parseInt(noText.getText()); course = courseText.getText(); mark = Integer.parseInt(markText.getText()); setVisible(false); dispose(); } } public static void main(String[] args) { new InputData(); } }

public static String course;//让创建者直接获取课程名称 InputData() { super("成绩输入窗"); Container con = getContentPane(); con.setLayout(new GridLayout(4, 1)); noText = new JTextField(12); courseText = new JTextField(12); markText = new JTextField(12); //请在答题纸相应位置编写代码: //以下一段为答案:----------------------------------------------------------------JPanel p1 = new JPanel( ); p1.add(new JLabel("考 号",JLabel.CENTER)); p1.add(noText); con.add(p1); JPanel p2 = new JPanel( ); p2.add(new JLabel("课 程",JLabel.CENTER)); p2.add(courseText); con.add(p2); JPanel p3 = new JPanel( ); p3.add(new JLabel("成 绩",JLabel.CENTER)); p3.add(markText); con.add(p3); //以上一段为答案-----------------------------------------------------------------con.add(ok);ok.addActionListener(this); con.setSize(250, 70);setVisible(true);pack(); } public void actionPerformed(ActionEvent e) { if (e.getSource()==ok) { //读取考号和成绩 no = Integer.parseInt(noText.getText()); course = courseText.getText(); mark = Integer.parseInt(markText.getText()); setVisible(false); dispose(); } } public static void main(String[] args) { new InputData(); } }

文档

2014年4月自考Java语言程序设计(一)试题及答案资料

绝密★考试结束前全国2014年4月高等教育自学考试Java语言程序设计(一)试题及答案课程代码:04747请考生按规定用笔将所有试题的答案涂、写在答题纸上。选择题部分注意事项:1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top