1、高等教育自学考试 Java 语言程序设计(一)真题 2014 年 4 月及答案解析(总分:100.00,做题时间:150 分钟)一、课程代码:04747(总题数:1,分数:0.00)二、单项选择题(本大题共 10 小题,每小题 1 分(总题数:10,分数:10.00)1.以下标识符中,不是 Java 语言关键字的是( )。(分数:1.00)A.waitB.newC.longD.switch2.以下数据类型转换中,必须进行强制类型转换的是( )。(分数:1.00)A.intcharB.shortlongC.floatdoubleD.byteint3.以下供选择的概念中,属于面向对象语言重要概念和
2、机制之一的是( )。(分数:1.00)A.函数调用B.模块C.继承D.结构化4.以下 Java 程序代码中,能正确创建数组的是( )。(分数:1.00)A.int myArray; myArray=new int5;B.int myArray=new my(5);C.intmyArray=1,2,3,4,5;D.int myArray5=1,2,3,4,5;5.某 Java 程序的类 A 要利用 Swing 创建框架窗口,则 A 需要继承的类是( )。(分数:1.00)A.JWindowB.JFrameC.JDialogD.JApplet6.MouseMotionListener 接口能处理的
3、鼠标事件是( )。(分数:1.00)A.按下鼠标键B.鼠标点击C.鼠标进入D.鼠标移动7.以下术语中,属于文字字型风格属性的是( )。(分数:1.00)A.颜色B.宋体C.斜体D.字号8.以下能作为表示线程优先级的数值,并且级别最低的是( )。(分数:1.00)A.0B.1C.15D.169.某 Java 程序用 javax.swing 包中的类 JFileChooser 来实现打开和保存文件对话框。该程序通过文件对话框首先获得的信息是( )。(分数:1.00)A.文件长度B.文件路径C.文件内容D.文件对象10.在编写访问数据库的 Java 程序时,ResultSet 对象的作用是( )。(
4、分数:1.00)A.用来表示与数据库的连接B.存储查询结果C.在指定的连接中处理 SQL 语句D.建立新数据库连接三、填空题(本大题共 10 小题,每空 2 分,共 2(总题数:10,分数:20.00)11.类 Testll 经 Java 编译程序编译后,产生的文件是 1。(分数:2.00)填空项 1:_12.表达式“45aodd=ai; ai=t; 2; (分数:4.00)填空项 1:_28.以下程序的界面包含一个文本区 text 和一个允许多选的列表 list,列表的条目存于字 符串数组sports中,当列表发生选择事件时,事件处理程序将这次选中的所有条目 在文本区中输出。这里给出的是其中
5、处理列表事件的方法。 public void valueChanged( 1e) if (e.getSource()=list) text.setText(null); int tempList=list. getSelectedIndices();获得选中索引表 for (int i=0;i =0) data+=delta; else while (data+delta1 catch (InterruptedException e) data+=delta; 2; (分数:4.00)填空项 1:_31.某个缓冲式输出的示意程序的界面有一个文本框 fileOut 和一个文本区 text,程序运
6、 行时,先在文本区中输入要存入文件的内容,接着在文本框中输入文件名并回车, 则程序将文本区中的内容保存到指定的文件中。以下是该程序中相应文本框文件名 的输入事件的方法。 public void actionPerformed(ActionEvent e) if (e.getSource()=fileOut) try out = new BufferedWriter(new 1 ); out 2; out.flush(); out.close(); text.setText(null); catch (FileNotFoundException el) System.out.print(“文件没
7、有找到!n“); catch (IOException exp) System.out.print(“文件读写出错!n“); (分数:4.00)填空项 1:_六、程序分析题(本大题共 5 小题,每小题 4 分,(总题数:5,分数:20.00)32.class Mother public void method1() System.out.println(“Call Mothers methodl()“); public void method2() System.out.println(“Call Mothers method2()“); method1(); class Girl exten
8、ds Mother public void method1() System.out.println(“Call Girls methodl()“); public static void main(String args) Girl g= new Girl(); g.method2(); (分数:4.00)_33.阅读下列程序,请写出调用 Test33(4)的输出结果。 public static void Test33(int n) int i,j,a=new intnn; for(i=0;i=0;j-) aij=n-j; for(i=0;i_阅读下列程序,请回答以下问题: import
9、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.addActionListen
10、er(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.getTex
11、t(); for (int k=1;k=0) data+=delta; else while (data+delta1 catch (InterruptedException e) data+=delta; 2; (分数:4.00)填空项 1:_ (正确答案:wait( ) notify( ))解析:31.某个缓冲式输出的示意程序的界面有一个文本框 fileOut 和一个文本区 text,程序运 行时,先在文本区中输入要存入文件的内容,接着在文本框中输入文件名并回车, 则程序将文本区中的内容保存到指定的文件中。以下是该程序中相应文本框文件名 的输入事件的方法。 public void acti
12、onPerformed(ActionEvent e) if (e.getSource()=fileOut) try out = new BufferedWriter(new 1 ); out 2; out.flush(); out.close(); text.setText(null); catch (FileNotFoundException el) System.out.print(“文件没有找到!n“); catch (IOException exp) System.out.print(“文件读写出错!n“); (分数:4.00)填空项 1:_ (正确答案:FileWriter(file
13、Out.getText( ) write(text.getText( ))解析:六、程序分析题(本大题共 5 小题,每小题 4 分,(总题数:5,分数:20.00)32.class Mother public void method1() System.out.println(“Call Mothers methodl()“); public void method2() System.out.println(“Call Mothers method2()“); method1(); class Girl extends Mother public void method1() System.
14、out.println(“Call Girls methodl()“); public static void main(String args) Girl g= new Girl(); g.method2(); (分数:4.00)_正确答案:(Call Mothers method2() Call Girls method1()解析:33.阅读下列程序,请写出调用 Test33(4)的输出结果。 public static void Test33(int n) int i,j,a=new intnn; for(i=0;i=0;j-) aij=n-j; for(i=0;i_正确答案:(1 2
15、3 4 4 3 2 1 1 2 3 4 4 3 2 1)解析:阅读下列程序,请回答以下问题: 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();
16、 / 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(
17、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“); (分数:4.00)(1).在文本框中输入 1 7,在文本区中会显示多少行整数,各行有几个数?(分数:2.00)_正确答案:(4 行,各行的数字个数分别是 5、5、5、2。)解析:(2).如果将程序的第一行删除,程序中标号语句中哪些会出现错误?(分数:2.00)_正确
18、答案:(第 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(
19、); this.setLocation(100, 100); this.setSize(300, 100); JMenuBar menubar=new JMenuBar(); for(int i=0;i menuList.length; i+) JMenu menu = new JMenu(menuListi0); for(int j=1;j(1).程序运行时,呈现的界面中菜单条有哪些菜单?(分数:2.00)_正确答案:(体育、娱乐、学习,三个菜单。)解析:(2).程序中带注释/*1*/的代码行的作用是什么?(分数:2.00)_正确答案:(用菜单项名称设置该菜单项事件源的文字信息。)解析:阅读
20、下列程序,请回答以下问题: import .*;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); JTextAr
21、ea 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“); setDefaul
22、tCloseOperation(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 = ne
23、w 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(); (分数:4.00)(1).程序要求在文本框 t
24、ext 中输入的内容是什么?(分数:2.00)_正确答案:(网络文本文件的 URL 地址。)解析:(2).程序采用什么输入方式下载网络文件?(分数:2.00)_正确答案:(缓冲式输入)解析:七、程序设计题(本大题共 2 小题,每小题 6 分,(总题数:2,分数:12.00)34.编写方法 int arrayReverse(int a),该方法的功能是返回一个新的数组 b,新数组的 元素排列顺序与参数数组的元素排列顺序相反。(分数:6.00)_正确答案:(int arrayReverse(int a) int b = new inta.length; for (int i=0;i解析:35.类
25、InputData 是用于输入考生考号、课程和成绩的窗口,窗口的界面如右图所示,其中三个文本框用来输入考号、课程和成绩。 注:这里是给定程序的部分代码,你要编写的是完成该类的构造方法。 (分数:6.00)_正确答案:(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);)解析: