1、高等教育自学考试 Java 语言程序设计(一)真题 2010 年 1 月及答案解析(总分:100.00,做题时间:150 分钟)一、课程代码:04747(总题数:1,分数:0.00)二、单项选择题(本大题共 10 小题,每小题 1 分(总题数:10,分数:10.00)1.在下述字符串中,不属于 Java 语言关键字的是 ( )(分数:1.00)A.floatB.newC.javaD.return2.Java 语言中数值数据的类型能自动转换,按照从左到右的转换次序为(分数:1.00)A.byteintshortlongfloatdoubleB.byteshortintlongfloatdoubl
2、eC.byteshortintfloatlongdoubleD.shortbyteintlongfloatdouble3.在以下供选择的概念中,不属于面向对象语言概念的是(分数:1.00)A.消息B.模块C.继承D.多态性4.在下述 Java 语言语句中,错误的创建数组的方法是(分数:1.00)A.int intArray ; intArray=new int5;B.int intArray =new int5;C.int intArray =1,2,3,4,5;D.int intArray 5=1,2,3,45;5.在 Swing 中,它的子类能用来创建框架窗口的类是(分数:1.00)A.J
3、WindowB.JFrameC.JDialogD.JApplet6.MouseListener 接口不能处理的鼠标事件是 (分数:1.00)A.按下鼠标左键B.点击鼠标右键C.鼠标进入D.鼠标移动7.以下不属于文字字型要素的是(分数:1.00)A.颜色B.字体C.风格D.字号8.在以下四个供选的整数中,能作为线程最高优先级的整数是(分数:1.00)A.0B.1C.10D.119.Java 语言可以用 javax.swing 包中的类 JFileChooser 来实现打开和保存文件对话框。用户通过文件对话框不可能获得的信息是 ( )(分数:1.00)A.文件名称B.文件路径C.文件内容D.文件对
4、象10.在编写访问数据库的 Java 程序时,Connection 对象的作用是(分数:1.00)A.用来表示与数据库的连接B.存储查询结果C.在指定的连接中处理 SQL 语句D.建立新数据库连接三、填空题(本大题共 10 小题,每空 2 分,共 2(总题数:10,分数:20.00)11.Java 的编译程序先将 Java 源程序翻译成与机器无关的 1。(分数:2.00)填空项 1:_12.表达式23 1;i+) if( 2) int t=ai;ai=aodd;aodd=t;odd+; (分数:4.00)填空项 1:_填空项 1:_28.以下程序创建了一个窗口,然后在窗口内显示Hello,Wo
5、rld! 。 import javax.swing.*; import javaawt*; public class HelloWorld public static void main(String ares) TextFrame frame=new TextFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame. 1; class TextFrame extends JFrame public TextFrame() setTitle(HelloWorld); setSize(WIDTH,HEIGHT); T
6、extPanel panel=new TextPanel(); Container contentPane=getContentPane(); contentPaneadd(panel); public static final int WIDTH=300; public static final int HEIGHT= 200; class TextPanel extends JPanel public void paintComponent(Graphics g) super. 2; g.drawString(Hello,World! ,x,y); public int x=100; pu
7、blic int y=100; (分数:4.00)填空项 1:_填空项 1:_29.以下是子窗口中设置一个菜单条类的定义。类的构造方法根据指定的窗口名称和菜单表设置菜单条,菜单和菜单项,当选中某个菜单项时,在文本框中显示相应菜单项被选中的信息。 class MenuWindow extends JFrame implements ActionListener public static JTextField text; public MenuWindow(String s,String menuList) setTitle(s); Container con=this.getContentPa
8、ne();con.setLayout(new BorderLayout(); this.setLocation(100,100); this.setSize(300,100); JMenuBar menubar=new JMenuBar(); for(int i=0; i1;menu.add(anltem); menubar 2; text=new JTextField();setJMenuBar(menubar); con.add(text,BorderLayoutSOUTH); public void actionPerformed(ActionEvent e) textsetText(e
9、getActionCommand()+菜单项被选中! ); public class Test29 extends Applet MenuWindow window; String menuList=体育,跑步,打蓝球,打乒乓, 娱乐,唱歌,跳舞; public void init() window=new MenuWindow(体育娱乐之窗,menuList); window.setVisible(true); (分数:4.00)填空项 1:_填空项 1:_30.以下是一个用鼠标自由作画的小应用程序。最简单的方法是根据鼠标所在位置画点,跟随鼠标的移动,不断画圆点,就能实现用鼠标作画。 imp
10、ort javaawt.*; import javaawt.event.*; public class Test30 extends javaappletApplet implements MouseMotionListener Color color;int lineSize=2: int x=-1,y=-l; public void init() setLocation(30,20); setSize(300,300); setBackground(Color.green);addMouseMotionListener(this); public void paint(Graphics g
11、) if(x!=-1add(text); public void keyPressed(KeyEvent e) int t=e.getKeyCode(); if(t=KeyEvent.VK_A 解析:5.在 Swing 中,它的子类能用来创建框架窗口的类是(分数:1.00)A.JWindowB.JFrame C.JDialogD.JApplet解析:6.MouseListener 接口不能处理的鼠标事件是 (分数:1.00)A.按下鼠标左键B.点击鼠标右键C.鼠标进入D.鼠标移动 解析:7.以下不属于文字字型要素的是(分数:1.00)A.颜色 B.字体C.风格D.字号解析:8.在以下四个供选的
12、整数中,能作为线程最高优先级的整数是(分数:1.00)A.0B.1C.10 D.11解析:9.Java 语言可以用 javax.swing 包中的类 JFileChooser 来实现打开和保存文件对话框。用户通过文件对话框不可能获得的信息是 ( )(分数:1.00)A.文件名称B.文件路径C.文件内容 D.文件对象解析:10.在编写访问数据库的 Java 程序时,Connection 对象的作用是(分数:1.00)A.用来表示与数据库的连接 B.存储查询结果C.在指定的连接中处理 SQL 语句D.建立新数据库连接解析:三、填空题(本大题共 10 小题,每空 2 分,共 2(总题数:10,分数:
13、20.00)11.Java 的编译程序先将 Java 源程序翻译成与机器无关的 1。(分数:2.00)填空项 1:_ (正确答案:字节码)解析:12.表达式23 els System.out.println(“No”); )解析:22.请写出接口定义的一般形式。(分数:3.00)_正确答案:(public interface 接口名extends 超口接口表 接口体 )解析:23.请写出 Java 语言编写事件处理程序的两种主要方案。(分数:3.00)_正确答案:(程序重设方法 handleEvent(event) 实现一些系统设定的接口)解析:24.设已经有 Graphics2D 对象 g2
14、d, 请用 Java 语句绘制一个矩形 rect,其左上角坐标是(20,30),宽是120,高是 30。(分数:3.00)_正确答案:(Rectangle2D rect=new Rectangle2D.Double(20,30,120,30) G2d.draw(rect);)解析:25.打开文件对话框时,还可以设置筛选条件,即指定文件的类型。请写出 FileFilter 类预设的两个方法。(分数:3.00)_正确答案:(accept() getDescription()解析:26.请写出 URLConnection 类提供的三个常用方法。(分数:3.00)_正确答案:(getOutputStr
15、eam() getInputStream() connect() )解析:五、程序填空题(本大题共 5 小题,每空 2 分,共(总题数:5,分数:20.00)27. 方法 void moveOddForword(int a )的功能是将数组中的所有奇数移到所有偶数之前。 void moveOddForword(int a) for(int i=0, odd=0; 1;i+) if( 2) int t=ai;ai=aodd;aodd=t;odd+; (分数:4.00)填空项 1:_ (正确答案:i填空项 1:_ (正确答案:*unknown)解析:28.以下程序创建了一个窗口,然后在窗口内显示H
16、ello,World! 。 import javax.swing.*; import javaawt*; public class HelloWorld public static void main(String ares) TextFrame frame=new TextFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame. 1; class TextFrame extends JFrame public TextFrame() setTitle(HelloWorld); setSize(WIDTH,HEI
17、GHT); TextPanel panel=new TextPanel(); Container contentPane=getContentPane(); contentPaneadd(panel); public static final int WIDTH=300; public static final int HEIGHT= 200; class TextPanel extends JPanel public void paintComponent(Graphics g) super. 2; g.drawString(Hello,World! ,x,y); public int x=
18、100; public int y=100; (分数:4.00)填空项 1:_ (正确答案:setVisable(true))填空项 1:_ (正确答案:paintComponent(g))解析:29.以下是子窗口中设置一个菜单条类的定义。类的构造方法根据指定的窗口名称和菜单表设置菜单条,菜单和菜单项,当选中某个菜单项时,在文本框中显示相应菜单项被选中的信息。 class MenuWindow extends JFrame implements ActionListener public static JTextField text; public MenuWindow(String s,St
19、ring 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; i1;menu.add(anltem); menubar 2; text=new JTextField();setJMenuBar(menubar); con.add(text,BorderLayoutSOUTH
20、); public void actionPerformed(ActionEvent e) textsetText(egetActionCommand()+菜单项被选中! ); public class Test29 extends Applet MenuWindow window; String menuList=体育,跑步,打蓝球,打乒乓, 娱乐,唱歌,跳舞; public void init() window=new MenuWindow(体育娱乐之窗,menuList); window.setVisible(true); (分数:4.00)填空项 1:_ (正确答案:ActionLis
21、tener(this))填空项 1:_ (正确答案:add(menu))解析:30.以下是一个用鼠标自由作画的小应用程序。最简单的方法是根据鼠标所在位置画点,跟随鼠标的移动,不断画圆点,就能实现用鼠标作画。 import javaawt.*; import javaawt.event.*; public class Test30 extends javaappletApplet implements MouseMotionListener Color color;int lineSize=2: int x=-1,y=-l; public void init() setLocation(30,2
22、0); setSize(300,300); setBackground(Color.green);addMouseMotionListener(this); public void paint(Graphics g) if(x!=-1)解析:31.以下定义的类 ShareData 用于管理多个线程共享数据 data。一个线程生成 data,另一个线程使用data。约定,新生成的 data 只有被另一个线程使用后,才能生成下一个 data。反之,一个 data 被使用后,也不能再继续使用。所以,生成和使用 data 的线程之间需要互斥和同步。以下是管理上述使用方式的类,类内有要管理的共享数据,以
23、及对共享数据的存操作 putData()和取操作 getData()。 class ShareData int data;共享数据 boolean newData=false;有最近新生成 data 的标志 synchronized int getData() while(!newData) try 1; catch(InterruptedExceptipn e) System.out.println(因错误,而中断!); newData=false; notify();return data; synchronized void putData(int n) while(newData) t
24、rywait(); catch(InterruptedException e) System.out.println(因错误,而中断! ); data=n; 2; notify(); return; (分数:4.00)填空项 1:_ (正确答案:wait())填空项 1:_ (正确答案:newData=true)解析:六、程序分析题(本大题共 5 小题,每小题 4 分,(总题数:5,分数:20.00)32.阅读下列程序,请写出该程序的输出结果。 class Parent private void method 1 () System.out.println(Parents method 1()
25、; public void method 2 () System.out.println(Parents method 2();method 1(); class Child extends Parent public void method l () System.out.println(Childs method 1 (); public static void main(String args) Parent p = new Child();p.method2(); (分数:4.00)_正确答案:(Parents method 2() Parents method 1()解析:33. 阅
26、读下列程序,请写出该程序的功能。 import java.util.*;import javax.swing.*; public class Test33 public static void main(String args) String str=(String)JOptionPaneshowInputDialog(null,请输入信息, 输入对话框,JOptionPanePLAIN_MESSAGE,null,null,null); StringTokenizer pas=new StringTokenizer(str, ,); int n=pas.countTokens(); Syste
27、m.out.println(输入的信息有单词:+n+个,全部单词如下:); while(pashasMoreTokens() String s=pas.nextToken(); System.out.println(s); (分数:4.00)_正确答案:( 在输入对话框中输入文字,并以多好作为分割符输出单词个数,及各个单词 )解析:34.阅读下列程序,请写出该程序的功能。 import java.util.*;import javax.swing.*; public class Test33 public static void main(String args) String str=(St
28、ring)JOptionPaneshowInputDialog(null,请输入信息, 输入对话框,JOptionPanePLAIN_MESSAGE,null,null,null); StringTokenizer pas=new StringTokenizer(str, ,); int n=pas.countTokens(); System.out.println(输入的信息有单词:+n+个,全部单词如下:); while(pashasMoreTokens() String s=pas.nextToken(); System.out.println(s); (分数:4.00)_正确答案:(
29、)解析:35.阅读下列程序,请写出该程序的功能。 import java.applet.*:import java.awt.event.*;import javax.swing.* public class Class 1 extends Applet implements KeyListener JButton button=new JButton(开始); JTextArea text=new JTextArea(5,20); public void init() button.addKeyListener(this); add(button);add(text); public void
30、 keyPressed(KeyEvent e) int t=e.getKeyCode(); if(t=KeyEvent.VK_A String t=“; for(int i=s.length-1;i=0;i-) t+=(char)si; System.out.println(t); )解析:38.请设计实现如下用于输入学号和姓名的对话框界面,其中空白格是文本框,用于输入相应的内容。 (分数:6.00)_正确答案:(done=new JButton(“确定“); done.addActionListener(this); con.add(title);con.add(done); con.add(new JLabel(“学号“);con.add(textl); con.add(new JLabel(“姓名“);con.add(text2); setVisible(true); )解析: