• 欢迎来到安徽自考网!为考生提供安徽自考信息服务,网站信息供学习交流使用,非政府官方网站,官方信息以安徽教育考试院www.ahzsks.cn为准。

联系我们:19305518756

距上半年自考报名时间预计67

距上半年自考考试时间108

考生服务:

  • 报名报考|
  • 考试安排|
  • 所在位置:安徽自考网 > 自考试卷 > 全国2012年1月04747Java语言程序设计(一)自考试卷

    全国2012年1月04747Java语言程序设计(一)自考试卷

    2018-08-13 14:20:00   来源:其它    点击:   
    自考在线学习 +问答
       

      全国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的代码,其中第1个子数组有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

      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

      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

      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){

      ∥请在以下位置编写代码

      }

      }

      class Test38{

      public static void main(String args[]){new Ave(); }

    安徽自考助学报名预约

    我已阅读并同意《用户隐私条款》

    上一篇:全国2012年1月04737C++程序设计自考试卷
    下一篇:全国2012年1月00346办公自动化原理及应用自考试卷

    扫一扫加入微信交流群

    与其他自考生一起互动、学习探讨,提升自己。

    扫一扫关注微信公众号

    随时获取自考信息以及各类学习资料、学习方法、教程。

    扫码小程序选择报考专业

    进入在线做题学习

    查看了解自考专业

    查询最新政策公告

    进入历年真题学习