《2012年1月全国自考JAVA语言知识学习程序设计试题及答案解析.pdf》由会员分享,可在线阅读,更多相关《2012年1月全国自考JAVA语言知识学习程序设计试题及答案解析.pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、全国2012年1月高等教育自学考试 Java 语言程序设计(一)试题及答案 课程代码:04747 一、单项选择题(本大题共 10 小题,每小题 1 分,共 l0 分) 1.下面供选字符序列中,不属于 Java语言关键字的是( A.inner B.throw C.false 2.表达式“-11”的十进制值是( B ) C) D.throws B.2311 A.2C . ( 2 3 1 1 ) D.2321 3.Java语言中,在类定义时用final关键字修饰,是指这个类( D) A.子类必须实现父类未实现的方法 C.必须要有实例 4.表达式 java程序设计.1ength() 的值是( C )
2、A. 0 B.12 C. 8 B.没有具体实现代码 D.不能被继承 D.13 5.以下关于BorderLayout布局的叙述中,不正确 的是( D) A.把容器内的空间划分成5个区域 C.是框架窗口的默认布局 B.加入组件应该指明要放入的区域 D.一个位置可直接放多个组件 6.利用文件对话框打开或保存文件,在打开文件对话框之前,可用FileFilter类设置筛选条件,其所用的 两个方法是(B) A.accept()和getSelectedFile() C.accept()和setDescription() B.accept()和getDescription() D.setDescription
3、()和getDescription() 7.设已经有Graphics2D对象g2d,RoundRectangle2D对象rRect,绘制对象rRect的代码是( A.g2d.draw(rRect) B.g2d.drawRoundRect(rRect) C.rRect.draw() D.rRect.drawRoundRect() 8.以下关于线程互斥和同步的叙述中,正确的是( A ) A.临界段是线程互斥使用资源的程序段 B.临界段能使线程使用其它线程的资源 C.互斥和同步能很好地解决死锁问题 D.可用notify()方法让等待线程结束等待 9.在编写访问数据库的Java程序时,Connecti
4、on对象的作用是( C ) A.存储查询结果 B.在指定的连接中处理SQL语句 C.用来表示与数据库的连接 D.用来创建数据库的连接 10.获取InetAddress对象的域名所用到的方法是( A ) A ) A.getHostName()B.getLocalName()C.getHostAddress()D.getLocalHost() 二、填空题(本大题共 10 小题,每空 2 分,共 20 分) 11.能在浏览器上执行的Java程序被称为_小应用程序Applet_。 12.如果子类A隐藏了超类B的成员变量x,而类A的某个方法f()要引用类B的x,则引用类B的x的 引用代码可以写成_sup
5、er:x_。 13.接口有与类相似的基本形式,它有常量定义和方法定义,但没有_方法的实现代码_。 14.设u和v是类A的两个对象, 15.要获得对象的字符串表示,调用的方法是_toString()_。 16.注册鼠标点击事件监视器的方法是_addMouseListener()_。 17.在异或模式下绘图时,实际绘制的颜色是由当前正要绘制的颜色、原先绘制的颜色,以及_异或 模式设定的颜色_作特定的运算确定的。 18.多线程程序设计中,让执行临界段程序时等待的线程结束等待,通常使用的方法有resume()、notify() 或者_ notifyAll()_。 19.创建的流既可以随机输出,也可以随
6、机输入的类是_RandomAccessFile_。 20.Java程序中使用套接字方法实现C/S模式时, Client端支持网络底层通讯的类是_Socket_。 2012年1月自学考试Java语言程序设计(一)试题及答案 1 三、简答题(本大题共 6 小题,每小题 3 分,共 18 分) 21.请写出以下程序段的执行结果。 int c=0,d,n=3758; if(d=nl0)c) while(n0) System.out.println(结果=+c); c=d;n/10; 这题的循环变量n无改变循环无法终止,可能有误,找不到试题的扫描文件,没做。 22.什么是方法重载,如何正确区分重载? 方
7、法重载是指,一个类中可以有多个方法具有相同的名字和类型,但这些方法的参数必须不同,或者是 参数个数不同,或者是参数类型不同。 23.请写出定义一个包含2个子数组的二维整型数组对象aArr的代码, 二个子数组有3个元素。 intaArr = new int2; aArr0 = new int5; aArr1 = new int3; 24.请写出创建一个JPanel对象p,并为对象p设定GridLayout布局的代码。 JPanelp = new JPanel(); p.setLayout(new GridLayout); 25.由于创建输出流对象时,可能会出现IOException异常,所以创建
8、输出流对象的代码必须出现在 try-catch语句结构中。请写出为当前目录下的myFile.dat文件创建缓冲输出流对象outs的代码。 try FileWriterwritefile = newFileWriter(“myFile.dat”); BufferedWriter outs = newBufferedWriter(writefile); catch(IOExceptioe) 26.请写出已知数据库url、用户名uName和密码pWord,通过驱动程序管理器(DriverManager)的方法 getConnection()建立连接con的代码,可能产生的异常是SQLExceptio
9、n。 try con = DriverManager. getConnection(url, uName, pWord); catch(SQLException e) e.printStackTrace(); return return con; null; 四、程序填空题(本大题共 5 小题,每空 2 分,共 20 分) 27.方法inttenDigNumlnArray(int a,int d)的功能是统计数组中十位数是d的整数的个数。 提示:对于一个整数n,运算n/10的作用是求得去掉n的个位数后的整数,运算n10的作用是求得n 的个位数。 static int tenDigNumlnAr
10、ray(int a,int d) int c=0; for(int i=0;_ia.length_;i+) if(_ai/10 = d_) c+; return c; 2012年1月自学考试Java语言程序设计(一)试题及答案 2 28.某小应用程序的类实现了接口ActionListener,在其窗口有一个文本区对象text和一个标上文字“输入 一个整数”的按钮对象,并正确为该按钮对象注册了监视器。按钮处理程序要实现的功能是当点击这个按 钮时,程序弹出一个输入信息的对话框,输入一个整数n,程序接受n后,将2至n的所有偶数输出在 文本区text中。以下是其中处理按钮事件的方法。 public v
11、oid actionPerformed(ActionEvent e) if(e._getActionCommand_.equals(输入一个整数) String res=(String) JOptionPane.showInputDialog(null, 输入一个正整数, 输入对话框,JOptionPane.PLAIN_MESSAGE,null,null,null); n=Integer.parseInt(res); text.setText();. for(int k=2;k = n;k+=2) text._setText(k+ )_; 29.一个示意选择框选择的类CheckBoxWin,类
12、的构造方法根据给定的选择项目表构造一组选择框,这组 选择框允许多选,当这组选择框中的某个选择项的选择状态有改变(从选中变成未选中,或从未选中变成 选中)时,选择框的监视程序在一个文本区中输出那个状态有改变的选择项目。以下是类CheckBoxWin 的定义。 class CheckBoxWin extends JFrame implements ItemListener JPanel p=new JPanel(); JTextArea text; StringnameList; JCheckBox boxArray; CheckBoxWin(Stringsp) Container con=get
13、ContentPane(); con.setBackground(Color.BLUE); con.setLayout(new FlowLayout(); p.setSize(90,(sp.1ength)*20); p.setLayout(new GridLayout(sp.1ength,1); nameList=sp; boxArray=new JCheckB oxsp.1ength; for(int i=0;inameList.1ength;i+) JCheckBox box=new JCheckBox(spi); box._addItemListener(this)_; p.add(bo
14、x); boxArrayi=box; con.add(p); text=new JTextArea(3,13); text.setText(); JScrollPane jsp=new JScrollPane(text); jsp.setSize(100,60); con.add(jsp); setSize(100,(sp.1ength)*20+120); setLocation(100,100); 2012年1月自学考试Java语言程序设计(一)试题及答案 3 setVisible(true); public void itemStateChanged(ItemEvent e) for(in
15、t i=0;i=KeyEvent.VK_A public class Test33 extends Applet implements ActionListener String msg=; String buttonCom=Yes,No,Undecided; JButton bList=new JButtonbuttonCom.length; JTeXtField t; public void init() setLayout(new GridLayout(4,1); for(int i=0;ibuttonCom.1ength;i+) bListi=new JButton(按钮+(i+1);
16、 add(bListi); bListi.addActionListener(this); t=new JTextField(); add(t); public void actionPerformed(ActionEvent e) for(int i=0;i3;i+) if(e.getSource()=bListi) t.setTeXt(You pressed+buttonComi); break; 答:(1) 界面中组件有;三个按钮,一个文本框。 (2) 分别显示:You pressed Yes;You pressed No;You pressed Undecided。 34.阅读下列程序
17、,请写出该程序的功能。 import java.io.*;import java.awt.*;import javax.swing.*; import java.awt.event.*; class MyWindow extends JFrame implements ActionListener JTextArea text;BufferedReader in;JTextField fileName; FileReader file; 2012年1月自学考试Java语言程序设计(一)试题及答案 5 MyWindow() Container con=this.getContentPane();
18、/获得内容面板 con.setLayout(new BorderLayout(); fileName=new JTextField(输入文件名); fileName.addActionListener(this); text=new JTextArea(20,30); JScrollPane jsp:new JScrollPane(text); con.add(jsp,BorderLayout.CENTER); con.add(fileName,South);setVisible(true); public void actionPerformed(ActionEvent e) String
19、s; tryFile f=new File(fileName.getText(); file=new FileReader(f); in=new BufferedReader(file); catch(FileNotFoundException el) try while(s=in.readLine()!=null) text.append(s+n); catch(IOException exp) public class Test34 new MyWindow(); 答:程序运行时显示一个对话框,用户在下面的文本框中输入文件名,中间的文本区显示文件内容。 35.阅读下列程序,请回答以下问题:
20、 (1)该程序中的类MyPanel的成员变量twoClick的作用是什么,该成员变量的值是如何改变的? (2)程序运行时,用户在界面的不同位置,用鼠标点击两次,界面中会出现什么? import java.awt.*;import javax.swing.*;import java.awt.event.*; class MyPanel extends JPanel implements MouseListener int leftx,lefty,rightx,righty; boolean twoClick; MyPanel() twoClick=false;addMouseListener(t
21、his); public void mousePressed(MouseEvent e) if(!twoClick) leftx=e.getX();lefty=e.getY(); else rightx=e.getX();righty=e.getY();repaint(); twoClick=!twoClick: public void mouseClicked(MouseEvent e) public void mouseEntered(MouseEvent e) public void mouseExited(MouseEvent e) 2012年1月自学考试Java语言程序设计(一)试题
22、及答案 6 public void mouseReleased(MouseEvent e) public void paintComponent(Graphics g) g.clearRect(0,0,this.getWidth(),this.getHeight(); g.fillRect(1efix,lefty,Math.abs(rightx-leftx), Math.abs(righty-lefty); class MyWin extends JFrame MyPanel p=new MyPanel(); MyWin() getContentPane().add(p); setSize(4
23、00,400);setLocation(100,100);setVisible(true); public class Test35 extends JFrame public static void main(Stringargs)new MyWin(); 答:(1) 成员变量twoClick是布尔类型,false标识第一次按下鼠标,true标识第二次按下鼠标。它的 值随鼠标的按动在false与true间循环改变。 (2) 界面中画出一个矩形块。 36.阅读下)列程序,请回答以下问题: (1)程序执行时创建的线程个数。 (2)各线程的名称。 (3)举例给出程序可能的输出结果。 class S
24、elfManaged extends Thread int countDown; public SelfManaged(String name,int c) countDown=c; setName(name);start(); public void run() while(true) System.out.println(getName()+ (+countDown+); try sleep(50); catch(InterruptedException e); if(-countDown= 0) return; public class Test36 public static void
25、 main(Stringargs) for(int i=0;i2;i+) new SelfManaged(线程+String.valueOf(i),2); 2012年1月自学考试Java语言程序设计(一)试题及答案 7 答:(1) 创建的线程个数 : 2 (2) 各线程的名称:线程0,线程1 (3) 输出结果: 线程0(2) 线程1(2) 线程0(1) 线程1(1) 六、程序设计题(本大题共 2 小题,每小题 6 分,共 12 分) 37.编写方法int delete(int a,int d),方法将创建一个新数组b,新数组b中只包含原数组中所有值不等 于d的元素,并返回该新数组b。 int
26、delete(int a,int d) inti, j, len, count = 0; for (i = 0; i a.length; i+) if (ai = d)count+; len = a.length count; int result = new intlen; for (i = 0; i len; i+) for (j = 0; j a.length; j+) if (aj != d) return result; resulti = aj; 38.以下程序的界面有一个按钮ave、一个文本区text和一个标签label。程序运行时,在文本区中输入数 字序列,单击ave按钮,则在
27、标签label中显示这个数字序列中正实数的平均值。 注:这里是给定程序的部分代码,你要编写的是actionPerformed(ActionEvent e)方法。 import javax.swing.*; class Ave extends JFrame implements ActionListener JLabel label1,label; JTextArea text; Ave() Container con=getContentPane(); JButton ave; con.setLayout(new GridLayout(2,2); labell=new JLabel(输入整数序
28、列); text=new JTextArea(5,10); ave=new JButton(求正实数平均值); label=new JLabel(); con.add(1abel1);con.add(text);con.add(ave); ave.addActionListener(this); con.add(1abel); public void actionPerformed(ActionEvent e) 请在以下位置编写代码 Strings = text.getText(), temp; StringTokenizertokens = new StringTokenizer(s); intn = tokens.countTokens(); 2012年1月自学考试Java语言程序设计(一)试题及答案 8 doublesum = 0; for (i = 0; i n; i+) temp = tokens.nextToken(); sum += Double.parseDouble(temp); lable.setText(String.valueOf(sum/n); class Test38 public static void main(String args)new Ave(); 2012年1月自学考试Java语言程序设计(一)试题及答案 9