全国2012年1月自考《Java语言程序设计(一)》试题

编辑整理:广东自考网   发布于:2019-11-28 18:03:39 点击: 次 
全国2012年1月自考《Java语言程序设计(一)》试题 
课程代码:04747 
  
一、单项选择题(本大题共10小题,每小题1分,共l0分) 
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 
1.下面供选字符序列中,不属于Java语言关键字的是(   ) 
A.inner                                                          B.throw 
C.false                                                          D.throws 
2.表达式“-1>>>1”的十进制值是(   ) 
A.-2                                                            B.231-1 
C.-(231-1)                                                  D.232-1 
3.Java语言中,在类定义时用final关键字修饰,是指这个类(   ) 
A.子类必须实现父类未实现的方法                B.没有具体实现代码 
C.必须要有实例                                            D.不能被继承 
4.表达式  "java程序设计".1ength() 的值是(   ) 
A. 0                                                               B.12 
C. 8                                                              D.13 
5.以下关于BorderLayout布局的叙述中,不正确的是(   ) 
A.把容器内的空间划分成5个区域                 B.加入组件应该指明要放入的区域 
C.是框架窗口的默认布局                              D.一个位置可直接放多个组件 
6.利用文件对话框打开或保存文件,在打开文件对话框之前,可用FileFilter类设置筛选条件,其所用的两个方法是(   ) 
A.accept()和getSelectedFile()                          B.accept()和getDescription() 
C.accept()和setDescription()                           D.setDescription()和getDescription() 
7.设已经有Graphics2D对象g2d,RoundRectangle2D对象rRect,绘制对象rRect的代码是(   ) 
A.g2d.draw(rRect)                                          B.g2d.drawRoundRect(rRect) 
C.rRect.draw()                                               D.rRect.drawRoundRect() 
8.以下关于线程互斥和同步的叙述中,正确的是(   ) 
A.临界段是线程互斥使用资源的程序段         B.临界段能使线程使用其它线程的资源 
C.互斥和同步能很好地解决死锁问题             D.可用notify()方法让等待线程结束等待 
9.在编写访问数据库的Java程序时,Connection对象的作用是(   ) 
A.存储查询结果                                            B.在指定的连接中处理SQL语句 
C.用来表示与数据库的连接                           D.用来创建数据库的连接 
10.获取InetAddress对象的域名所用到的方法是(   ) 
A.getHostName()                                            B.getLocalName() 
C.getHostAddress()                                         D.getLocalHost()
二、填空题(本大题共10小题,每空2分,共20分) 
请在每小题的空格中填上正确答案。错填、不填均无分。 
11.能在浏览器上执行的Java程序被称为____________。 
12.如果子类A隐藏了超类B的成员变量x,而类A的某个方法f()要引用类B的x,则引用类B的x的引用代码可以写成____________。 
13.接口有与类相似的基本形式,它有常量定义和方法定义,但没有____________。 
14.设u和v是类A的两个对象,则逻辑表达式“u==v”的意义是____________。 
15.要获得对象的字符串表示,调用的方法是____________。 
16.注册鼠标点击事件监视器的方法是____________。 
17.在异或模式下绘图时,实际绘制的颜色是由当前正要绘制的颜色、原先绘制的颜色,以及____________作特定的运算确定的。 
18.多线程程序设计中,让执行临界段程序时等待的线程结束等待,通常使用的方法有resume()、notify()或者____________。 
19.创建的流既可以随机输出,也可以随机输入的类是____________。 
20.Java程序中使用套接字方法实现C/S模式时,在Client端支持网络底层通讯的类是____________。 
三、简答题(本大题共6小题,每小题3分,共18分) 
21.请写出以下程序段的执行结果。 
int c=0,d,n=3758; 
while(n>0){    if((d=n%l0)>c)  c=d;n/10;} 
System.out.println("结果="+c); 
22.什么是方法重载,如何正确区分重载? 
23.请写出定义一个包含2个子数组的二维整型数组对象aArr的代码,其中第一个子数组有5个元素,第二个子数组有3个元素。 
24.请写出创建一个JPanel对象p,并为对象p设定GridLayout布局的代码。 
25.由于创建输出流对象时,可能会出现IOException异常,所以创建输出流对象的代码必须出现在try-catch语句结构中。请写出为当前目录下的myFile.dat文件创建缓冲输出流对象outs的代码。 
26.请写出已知数据库url、用户名uName和密码pWord,通过驱动程序管理器(DriverManager)的方法getConnection()建立连接con的代码,可能产生的异常是SQLException。
四、程序填空题(本大题共5小题,每空2分,共20分) 
在每小题的空格中填上正确答案,完全代码,使它能正确实现题意的功能。错填、不填均无分。 
27.方法int tenDigNumlnArray(int []a,int d)的功能是统计数组中十位数是d的整数的个数。 
提示:对于一个整数n,运算n/10的作用是求得去掉n的个位数后的整数,运算n%10的作用是求得n的个位数。    
static int tenDigNumlnArray(int []a,int d){ 
int c=0; 
for(int i=0;__________;i++){ 
if(__________)c++;    

return c; 

28.某小应用程序的类实现了接口ActionListener,在其窗口有一个文本区对象text和一个标上文字“输入一个整数”的按钮对象,并正确为该按钮对象注册了监视器。按钮处理程序要实现的功能是当点击这个按钮时,程序弹出一个输入信息的对话框,输入一个整数n,程序接受n后,将2至n的所有偶数输出在文本区text中。以下是其中处理按钮事件的方法。 
public void actionPerformed(ActionEvent e){ 
if(e.____________.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._____________; 


29.一个示意选择框选择的类CheckBoxWin,类的构造方法根据给定的选择项目表构造一组选择框,这组选择框允许多选,当这组选择框中的某个选择项的选择状态有改变(从选中变成未选中,或从未选中变成选中)时,选择框的监视程序在一个文本区中输出那个状态有改变的选择项目。以下是类CheckBoxWin的定义。 
class CheckBoxWin extends JFrame implements ItemListener{ 
JPanel p=new JPanel(); 
JTextArea text; 
String[]nameList; 
JCheckBox boxArray[]; 
CheckB oxWin(String[]sp){ 
Container con=getContentPane(); 
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 ox[sp.1ength]; 
for(int i=0;i<nameList.1ength;i++){ 
JCheckBox box=new JCheckBox(sp[i]); 
box._________________; 
p.add(box); 
boxArray[i]=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); 
setVisible(true); 

public void itemStateChanged(ItemEvent e){ 
for(int i=0;i<nameList.1ength;i++){ 
if(e.getItemSelectable()==_______________________   ){ 
if(boxArray[i].isSelected()) 
text.append(nameList[i]+".从未选中变成被选中\n"); 
else 
text.append(nameList[i]+":从选中变成未被选中\n"); 
return; 



}
30.以下是一个JPanel的子类的paintComponent方法,该方法利用Graphics2D绘制一个正方形,正方形的位置、边长和颜色分别存于该类的成员变量lTop、edge和c中。 
int edge;    Point 1Top;  Color c; 
public void paintComponent(Graphics g){ 
Graphics2D g2=(Graphics2D)g; 
g2.setColor(c); 
Rectangle2D rec=new Rectangle2D.____________(1Top.x,lTop.y,edge,edge); 
_____________; 

31.以下小应用程序的界面有一个文本区,文本区同时作为发生键盘事件的事件源,并对键盘事件实施监视。程序运行时,先点击文本区,让它激活,以便能响应键盘事件。以后输入英文字母时,在文本区中顺序显示输入的字母。 
import java.applet.*;import javax.swing.*; 
import java.awt.*;import java.awt.event.*; 
public class Test31 extends Applet implements____________{ 
JTextArea text=new JTextArea(5,10); 
public void init(){setSize(200,200); 
__________________________; 
text.setBackground(Color.gray);  add(text); 

public void keyPressed(KeyEvent e){} 
public void keyReleased(KeyEvent e){} 
public void keyTyped(KeyEvent e){ 
int t=e.getKeyCode(); 
if(t>=KeyEvent.VK_A&&t<=KeyEvent.VK_Z){ 
text.append(""+(char)t); 


}
五、程序分析题(本大题共5小题,每小题4分,共20分) 
32.阅读下列程序,请写出该程序的功能。 
public  class  Test32 
{   public  static  void   main(String   args[]) 
{   double   sum=0.0; 
For   (int i=1;  i<=500;i++) 
sum+=1.0/(double)i; 
System.out.println( "sum="+sum); 


33.阅读下列程序,请回答以下问题: 
(1)界面中有哪些组件? 
(2)点击每一个按钮分别会显示什么内容? 
import java.applet.*;  import java.awt.*; 
import java.awt,event.*;import javax.swing.*; 
public class Test33 extends Applet implements ActionListener{ 
String msg=""; 
String buttonCom[]={"Yes","No","Undecided"}; 
JButton bList[]=new JButton[buttonCom.length]; 
JTeXtField t; 
public void init(){ 
setLayout(new GridLayout(4,1)); 
for(int i=0;i<buttonCom.1ength;i++){ 
bList[i]=new JButton("按钮"+(i+1)); 
add(bList[i]); 
bList[i].addActionListener(this); 

t=new JTeXtField(); 
add(t); 

public void actionPerformed(ActionEvent e){ 
for(int i=0;i<3;i++){ 
if(e.getSource()一bList[i]){ 
t.setTeXt("You pressed"+buttonCom[i]); 
break; 




34.阅读下列程序,请写出该程序的功能。 
import java.io.*;  import java.awt.*;  import javax.swing.*; 
import java.awt.event.*; 
class MyWindow extends JFrame implements ActionListener{ 
JTextArea text;BufieredReader in;JTextField fileName; 
FileReader file; 
MyWindow(){ 
Contaiher con=this.getContentPane();//获得内容面板 
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 s; 
try{File 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{ 
public static void main(String args[ ])   {new MyWindow();} 
}
35.阅读下列程序,请回答以下问题: 
(1)该程序中的类MyPanel的成员变量twoClick的作用是什么,该成员变量的值是如何改变的? 
(2)程序运行时,用户在界面的不同位置,用鼠标点击两次,界面中会出现什么? 
import java.awt.*;import javax.swing.*;import java.awt.event.*; 
class MyPanel extends JPanel implements MouseListener{ 
int leftx,lefly,rightx,righty; 
boolean twoClick; 
MyPanel() { 
twoClick=false;addMouseListener(this); 

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){} 
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(400,400);setLocation(100,100);setVisible(true); 


public class Test35 extends JFrame{ 
public static void main(String[]args){new MyWin();} 
}

36.阅读下列程序,请回答以下问题: 
(1)程序执行时创建的线程个数。 
(2)各线程的名称。 
(3)举例给出程序可能的输出结果。 
class SeltManaged 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 main(String[]args){ 
for(int i=0;i<2;i++) 
new SelfManaged("线程"+String.valueOf(i),2); 

}
六、程序设计题(本大题共2小题,每小题6分,共12分) 
37.编写方法int[] delete(int []a,int d),方法将创建一个新数组b,新数组b中只包含原数组中所有值不等于d的元素,并返回该新数组b。 
38.以下程序的界面有一个按钮ave、一个文本区text和一个标签label。程序运行时,在文本区中输入数字序列,单击ave按钮,则在标签label中显示这个数字序列中正实数的平均值。 
注:这里是给定程序的部分代码,你要编写的是actionPerformed(ActionEvent e)方法。 
import javax.swing.*;……… 
class Ave extends JFrame implements ActionListener{ 
JLabel label 1,label; JTextArea text;  JButton ave; 
Ave() { 
Container con=getContentPane(); 
con.setLayout(new GridLayout(2,2)); 
labell=new JLabel("输入整数序列"); 
text=new JTextArea(5,10); 
ave=new JButton("求正实数平均值"); 
label=new JLabel(); 
con.add(1abel 1);con.add(text);con.add(ave); 
ave.addActionListener(this); 
con.add(1abel); 
……… 

public void actionPerformed(ActionEvent e){ 
∥请在以下位置编写代码

本文标签:历年真题

转载请注明:文章转载自(http://www.gdszkw.com

本文地址:http://www.gdszkw.com/Java/28350.html

点击查看全部真题 >>

扫码登录


扫码关注“广东省自考网”微信公众号

即可查看全部内容

二维码以过期,请重新刷新




《广东自考网》免责声明:

1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。

2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com

广东自考-便捷服务