您当前的位置: 湖南自考网 > 历年真题 > 工学类 > 文章详情

自考软件工程:2011年1月04747Java语言程序设计(一)历年真题及答案

2018-08-08 17:46:40
来源:湖南自考生网

以下自考本科软件工程专业:2011年1月04747Java语言程序设计(一)历年真题试卷及答案由湖南自考生网www.zikaosw.com收集、提供。更多真题及答案,可在我办网站“历年真题”栏目中查看。软件工程历年真题建议同学们在自学完教材后,做几套历年真题,熟悉题型,提高学习能力。 

 

全国20111月高等教育自学考试

Java语言程序设计(一)试题(含答案)

课程代码:04747

一、单项选择题(本大题共10小题,每小题1分,共10分)

    在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.在Java语言中,int类型数据的长度是( C )

A.1个字节     B.2个字节

C.4个字节     D.8个字节

2.在switch语句中,switch后面括号内的表达式的类型不能( B )

A.byte     B.long

C.char D.int

3.以下关于接口的叙述中,正确的是( D  )

A.所有的接口都是公共接口,可被所有的类和接口使用

B.一个类通过使用关键字interface声明自己使用一个或多个接口

C.接口中所有的变量都默认为public abstract属性

D.接口体中不提供方法的实现

4.以下代码段的输出结果是( A )

    String s="JavaWorld";  System.out.print(s.indexOf("a",4));

A.-1 B.O

C.1 D.4

5.以下不属于AWT库中定义的类是( C )

A.Component B.Container

C.Images D.Graphics

6.鼠标单击列表中某个选项事件的相关接口是( B  )

A.ListActionListener B.ListSelectionListener

C.ActionListener D.SelectionListener

7.Java语言规定,程序绘图区域的坐标原点位于整个区域的( A )

A.左上角 B.右上角

C.左下角 D.右下角

8.以下关于线程互斥和同步的叙述中,正确的是( C )

A.多线程互斥使用各自资源的程序段,在操作系统中称为临界段

B.临界段的作用是使某线程能够使用其它线程的资源

C.可以使用notify()方法通知等待线程结束等待

D.线程的互斥和同步可以很好地解决死锁问题

9.当用户关闭文件对话框时,有可能返回的整数常量是( B )

A.JFileChooser.CLOSE_OPTION B.JFileChooser.APPROVE_OPTION

C.JFileChooser.SAVE_OPTION D.JFileChooser.OPEN_OPTION

10.获取InetAddress对象的域名所用到的方法是( D  )

A.getByName() B.getHostAddress()

C.getLocalHost() D.getHostName()

二、填空题(本大题共10小题,每小题2分,共20分)

    请在每小题的空格中填上正确答案。错填、不填均无分。

11.Java源文件的扩展名是_.java_

12.表达式-4>>l的十进制值是_-2_。

13.在定义成员变量时,用关键字__static__修饰的是类变量。

l4.布尔类型数组元素的默认初值是_false_。

15.在Swing中,面板有两种,一种是JPanel,另一种是_JScrollPane_。

16.对话框的默认布局是_BorderLayout_。

17.Java语言的绘图模式有两种,它们是正常模式和_抑或模式_。

18.当线程处于新建状态后,调用了start()方法,该线程就处于__就绪_状态。

19.如果要按行输入输出文件,需采用_缓冲式_输入输出方式。

20.Java程序与数据库连接的API被称为_JDBC(或Java数据库连接)_。

三、简答题(本大题共6小题,每小题3分,共18分)

21.请写一个if语句,判断整数n是否同时满足“被3除余2,被7除余1”的条件,满足时输出“OK”,否则输出“NO”。

答:if(n%3==2&&n%7==1)

          System.out.print(“OK”);

       Else

       System.out.print(“NO”);

22.请写出在面向对象系统中,类和对象的关系。

   答:类是对一组相同对象的描述,类概括了同类对象的共有性质:数据和方法。对象是类的一个实例。

23.请写出JFrame、Frame以及Window这三个类的继承关系(按照从父类到子类顺序排列)。

   答:Window - Frame - JFrame

24.请写出java.applet.AudioClip控制声音播放的三个方法。
  答:play()播放声音、loop()循环播放、stop()停止播放。

25.请写出在使用FileFilter类设置筛选条件时,方法accept()以及getDescription()的作用。

  答:当目录中的文件与筛选条件相符时,方法accept()返回true,并将此文件史显示在对话框中,而getDescription()方法则是对筛选条件的描述。

26.请写出Java程序实现数据库更新可以使用的三种对象。

  答:Statement对象、ResultSet对象、PrepareStatement对象。

四、程序填空题(本大题共5小题,每空2分,共20分)

27.方法int numberOfDigits(int n)的功能是计算十进制正整数n的位数。

   int numberOfDigits(int n){

   int c=0:

   do{  n/=10;c++_    

   }while(_n!=0_);        

   return c;

   }

28.以下程序创建了一个窗口,窗口内设置一个按钮,单击该按钮,其标题会显示单击的次数。

   import java.awt.*;import java.awt.event.*;    import javax.swing.*;

   public class BottonGUI{

    public static void main(String[]args){

       CountButton myButtonGUI=new CountButton();

    myButtonGUI.setVisible(true);

     }

   }

     class CountButton extends JFrame implements ActionListener{

       public static final int Width=250;

    public static final int Height=200;

    public int i=0;

    JButton myBtn=new JButton(String.valueOf(i));

    CountButton(){

          setSize(Width,Height);    setTitle("计数按钮");

      Container conPane=getContentPane();

    conPane.setLayout(new FlowLayout());

    myBtn.addActionListener(this);  conPane._add(myBtn)_  

       }

    public void actionPerformed(ActionEvent e){

    if(e.getSource()==myBtn)

    myBtn._setText_(String.valueOf(++i));      

    }

     }

29.以下小应用程序设置了一个文本区,用于显示鼠标单击的坐标。

importjava.applet.*;importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;

   class MyWindow extends JFrame implements MouseListener{

     JTextArea text;JPanel panel;int x,y;

     MyWindow(String s){_super(s)_;                       

        Container con=this.getContentPane();con.setLayout(new GridLayout(2,1));

    this.setSize(200,300);

    panel=new JPanel();    con.add(panel);

    text=new JTextArea(10,20);

    con.add(text);    addMouseListener(this);

    this.setVisible(true);

     }

     public void paint(Graphics g){text.append("当前鼠标单击的位置是: "+x+","+y+"\n");

     }

     public void mousePressed(MouseEvent e){}

     public void mouseReleased(MouseEvent e){}

     public void mouseEntered(MouseEvent e){}

     public void mouseExited(MouseEvent e){}

     public void_mouseClicked(MouseEvente){x=e.getX();y=e.getY();repaint();}     

   }

   public class MouseDemo extends Applet{

     public void init(){

        MyWindow myWndow=new MyWindow("鼠标演示程序");

     }

   }

30.以下小应用程序利用Graphics2D绘制一条直线。

   import java.applet.*;    import java.awt.*:    import java.awt.geom.*;

   public class DrawLine extends Applet{

     public void paint(Graphics g){

        Graphics2D g2d=(Graphics2D)g;                                             

        Line2D line=new Line2D.Double(30.0,30.0,180.0,30.0);

        g2d.draw(line)_                  

     }

   }

31.方法readByURL()的功能是已知网址,创建URL对象,设置网络连接,获取网址上的内容并显示。其中获取网址上的内容并显示的代码已被省略。

   public void readByURL(String urlName){

   try{

   URL url=new URL(urlName);

   URLConnection tc=url._openConnection()_;     

   Tc.connect()_;           connect

   InputStreamReader in=new InputStreamReade(tc.getInputStream());

   BufferedReader dis=new BufferedReader(in);

   String inLine;

   ......//这里的代码实现逐行输入网址上的内容并显示

   dis.close();

   }catch(MalformedURLException e){e.printStackTrace();}

   catch(IOException e){  e.printStackTrace();)

   }

五、程序分析题(本大题共5小题,每小题4分,共20分)

32.阅读下列程序,请写出该程序的输出结果。

   class B{

   int b;

     B(int x){b=x;System.out.println("b="+b);  }

   }

   class A extends B{

     int a;

     A(int x,int y){

       super(x);    a=y;  System.out.println("b="+b+",a="+a);

     }

   }

   public class a32{

     public static void main(String[]args){

       A obj=new A(1,2);

     }

   }

  答:b=1,a=2

33.阅读下列程序,请写出该程序的输出结果。

  public class Test33{

     public static void main(String[]args){

       int[][]a={{2,3},{1,6}};  int[][]b={{4,2},{3,5}};

       int[][]c=new int[2][2];  int i,j;

       for(i=0;i

         for(j=0;j

           c[i][i]=a[i][i]+b[i][i];

           System.out.print(c[i][i]+"");

           if(j==a[i].length-1)  System.out.println();

         }

     }

   }

  答:6    5

      4    11

34.阅读下列程序,请写出该程序的功能。

   importjava.applet.*;    importjavax.swing.*;

   import java.awt.event.*;    import java.util.*;

   public class StrC extends Applet{

     static JTextField textl,text2;S s=new S();

     public void init(){

       textl=new JTextField(20);text2=new JTextField(20);setSize(400,l00);

       add(textl);  add(text2);textl.addActionListener(s);

     }

   }

   class S implements ActionListener(

     public void actionPerformed(ActionEvent e){

       if(e.getSource()==StrC.textl){

         String s=StrC.textl.getText();String ss="":

         StringTokenizer pas=new StringTokenizer(s);

    while(pas.hasMoreTokens()){ss+=pas.nextToken();)

    StrC.text2.setText(ss);

       }

     }

   }

答:该小应用程序有两个文件框,一个文本框用于输入字符,另一个文本框显示去掉分割符后的字符。

35.阅读下列程序,请写出该程序的功能。

  importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;

   public class ComboBoxApp{

     public static void main(String[]args){

       ComboBoxDemo myComboBoxGUI=new ComboBoxDemo();

     }

   }

   class ComboBoxDemo extends JFrame implements ActionListener{

     String proList[]={"Java","C++,"Fortran");

     JTextField text;JComboBox comboBox;

     public ComboBoxDemo(){

       setSize(200,100);

    Container conPane=getContentPane();

       conPane.setBackground(Color.BLUE);

       conPane.setLayout(new FlowLayout());

       comboBox=new JComboBox(proList);

       comboBox.addActionListener(this);

       comboBox.setEditable(true);

       conPane.add(comboBox);text=new JTextField(10);

       JScrollPane jsp=new JScrollPane(text);

       conPane.add(jsp);this.setVisible(true);

     }

     public void actionPerformed(ActionEvent e){

       if(e.getSource()==comboBox)

         text.setText(String.valueOf

           (comboBox.getSelectedltem().toString().1ength()));

     }

   }

  答:在组合框中选择一个选项后,文本框中显示该选项的文字长度。

36.阅读下列程序,请写出该程序的功能。

   public class TwoThread extends Thread {

   private Thread creatorThread;

     public TwoThread(){  creatorThread=Thread.currentThread();  }

   public void run(){

    for(int i=0;i<5;i++){   printMsg();    }

     }

     

public void printMsg(){

      Thread t=Thread.currentThread();

      if(t==creatorThread){

        System.out.println("Creator thread");

    }else if(t==this){

    System.out.println("New thread");

      }

   }

   public static void main(String[]args){

       TwoThread tt=new TwoThread();

       tt.start();

       for(int i=O;i<10;i++){

         tt.printMsg();

      }

     }

   }

  答:该程序交替输出10次Creator thread和New thread。

六、程序设计题(本大题共2小题,每小题6分,共12分)

37.请编写方法double averageOfArray(double[]a),返回非空数组中正数的平均值(数组中可能有非正数元素)。

  答:double average()fArray(double []a){

          int i,n=0;double ave,sum=0.0

                for(i=0;i

                   if(a[i]>0){sum+=a[i];n++}

                     ave=sum/n;

                     retun ave;

}

38.一个小应用程序,界面如题38图所示,其功能为比较两个文本框中输入的字符串是否相同,如果相同,那么在下方显示“两个字符串相同”,否则,显示“两个字符串不同”。按下“重置”按钮后清空文本框里面的内容。以下是程序的大部分,请编写其中的监视器方法。

   import java.applet.*;  import javax.swing.*;

   import java.awt.event.*;

   public class a38 extends Applet implements ActionListener{

     JTextField textl,text2;

     JButton button1,button2;  JLabel label1;

     public void init(){

       text1=new JTextField(12);text2=new JTextField(12);

       buttonl=new JButton("比较");button2=new JButton("重置"):

       label1=new JLabel("此处显示比较结果"):

       add(text 1);add(text2);add(button1);add(button2);add(1abel1);

       text1.requestFocus();//将光标自动定位到第一个文本框

       button 1.addActionListener(this);button2.addActionListener(this);

    }

    public void actionPerformed(ActionEvent e)

{

    //请在以下位置编写代码

 

38图          

}

}

答:

if(e.getSource()==button1)

   if(text1.getText().equals(text2.getText()))

       label1.setText(“两个字符串相同”);

   else

      label1.setText(“两个字符串不同”);

   else if(e.getSource()==button2)

      text1.setText(null);

      text2.setText(null);

更多自考本科考试复习资料可查看我办湖南自考 生网考试资料”栏目

 

湖南学历提升报名热线:
蒋老师QQ咨询 QQ咨询

TEL:蒋老师17773102705

2024年自考、成考、网教报名进行中,点击立即报考咨询>>

扫一扫下方二维码关注湖南自考生网微信公众号、客服咨询号,即时获取湖南自考、成考、网教最新考试资讯。

  • 湖南自考官方公众号

    关注公众号免费拿资料

  • 微信扫一扫咨询

  • 微信扫一扫咨询

免责声明

1、鉴于各方面资讯时常调整与变化,本网所提供的信息仅供参考,实际以考试院通知文件为准。

2、本网部分内容来源于网络,如有内容、版权等问题请与本网联系,我们将会及时处理。联系方式 :QQ(393848300)

3、如转载湖南自考生网声明为“原创”的内容,请注明出处及网址链接,违者必究!

市区导航: 长沙市自考  |   株洲市自考  |   湘潭市自考  |   衡阳市自考  |   邵阳市自考  |   岳阳市自考  |   常德市自考  |   张家界自考  |   益阳市自考  |   郴州市自考  |   永州市自考  |   怀化市自考  |   娄底市自考  |   湘西州自考  |  

特别声明:本站信息大部分来源于各高校,真实可靠!部分内容来自互联网,仅供参考!所有信息以实际政策和官方公告为准!

湖南求实创新教育科技有限公司 版权所有 湘ICP备18023047号-2