欢迎您访问浙江自考网!网站为考生提供浙江自考信息服务,供学习交流使用,非政府官方网站,官方信息以浙江省招生考试院为准 登录  网站导航

浙江自考网

自考热线:16657169113

自考办电话 | 在线提问 | 公众号

全国2013年10月自学考试Java语言程序设计(一)试题

编辑整理:浙江自考网 发表时间:2019-11-28   【

课程代码:04747

请考生按规定用笔将所有试题的答案涂、写在答题纸上。

选择题部分

注意事项:

1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。

2. 每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。

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

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将答题纸的相应代码涂黑。错涂、多涂或未涂均无分。

1.在Java语言中,用于标记回车符的转义字符是

A.\b                                                         B./b

C.\n                                                         D./n

2.设有定义int i=6;,则执行语句“i+=i-1;’’后,i的值为

A.10                                                         B.11

C.12                                                         D.13

3.以下关于抽象类及抽象方法的说法中,不正确的是

A.抽象方法只能出现在抽象类中               B.抽象类必须有抽象方法

C.有抽象方法的类一定是抽象类               D.抽象方法没有实现的代码

4.执行下列程序语句后,b的值是

 String a=〃Hello〃;

 String b=a.substring(1,3);

A.el                                                          B.He

C.ell                                                         D.Hel

5.能够直接添加组件的Swing容器是

A.JFrame                                                  B.JDialog

C.JWindow                                               D JPanel

6.用于判定鼠标右键操作的常量是

A.BUTTON1_MASK                                  B.BUTTON2_MASK

C.BUTTON3_MASK                                  D.BUTTON4_MASK

7.设置异或绘图模式的方法是

A.setXORMode()                                      B.setPaintMode()

C.XORMode()                                          D.PaintMode()

8.用来定义临界段,能对共享对象的操作上锁的关键字是

A.static                                                     B.share

C.serialize                                                 D.synchronized

9.如果一次从文件中读出一行数据,可使用的方法是

A.FileReader的readLine()方法                   B.BufferedReader的readLine()方法

C.FileReader的read()方法                          D.BufferedReader的read()方法

10.获取InetAddress对象的IP地址所用到的方法是

A.getHostlPAddress()                                 B.getHostlP()

C.getHostAddress()                                    D.getHost()

非选择题部分

注意事项:

用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。

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

11.在Java语言中,双精度型变量在内存中占__________个字节。

12.在Java语言中,逻辑右移运算符为__________。

1 3.在Java语言中,通过扩展原有的类,声明新类的机制被称为__________。

14.已知字节数组b,取由b[i]开始至b[j](其中j≥i≥0)结束的字节字符构造一个字符串s,其语句为:String s=new String(__________);。

15.将容器区域分成东、南、西、北、中五个区域的布局类是__________。

16.在构造非强制对话框时,所使用的构造方法是JDialog(f,s, __________),其中f为对话框所依赖的窗口,s为对话框的标题。

17.在Java语言中,要播放音频文件可以使用__________类。

18.当线程调用resume()方法后,就进入__________状态。

19.要使用输入/输出操作的程序,必须要导入__________包。

20.在进行数据库访问时,查询结果存放在一个用__________类声明的对象中。

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

21.请写出下面程序段的执行结果。

 int n=90;

 int k=2;

 System.out.print(n+″=〞);

 while(k<=n){

     if(k==n){System.out.println(n); break;}

     else if(n%k==0){System.out.print(k+″*″);n=n/k;)

     else k++;

 }

22.为了系统安全,对JavaApplet小应用程序有什么限制?

23.请写出声明int类型的二维数组intArr的三种形式。

24.请写出在JFrame框架窗口对象中添加组件的步骤。

25.请写出使用Graphics2D类声明并创建一个左上角为(20,30)、边长为50的正方形对象square的语句。

26.请写出使用纯Java JDBC驱动程序连接数据库的步骤。

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

 完全代码,使它能正确实现题意的功能。错填、不填均无分。

27.一个数如果恰好等于它的因子之和,这个数就称为“完全数”。例如6=1+2+3。方法void findPerfectNumber()的功能是找出1000以内的所有完全数。

 static void findPerfectNumber(){

     System.out.println(″1000以内的完全数有:″);

     for(int i=1;i<1000;i++){

        int t=0;

        for(int j=1;j<=i/2;j++)

             if(    ①    )

                 t=t+j;

        if(    ②    )

          System.out.primt(i+"    ");

    }

 }

28.某应用程序的类实现了接口ActionListener,在其窗口的内容面板conPane中,有一个标上文字“红色”的按钮对象btn,并正确为该按钮对象注册了监视器。按钮处理程序要实现的功能是当点击这个按钮时,窗口的背景色置为红色,并设置该按钮不再响应事件。

 public void actionPerformed(ActionEvent e){

     if(e.getActionCommand().equals("红色")){

conPane.setBAckground(   ①   );

            btn.    ②     ;

     }

 }

29.某小应用程序有一个按钮和一个文本区,按钮作为发生键盘事件的事件源,并对它进行监视。程序运行时,先点击按钮,让按钮激活;从键盘输入英文字母时,在文本区显示输入的字母。

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

 public class Test29 extends Applet implements KeyListener{

     int count=0;

     JButton button=new JButton("BEGIN");

    JTextArea text l=new JTextArea(1,10);

     public void init(){

         button.addKeyListener(this);

         add(textl);    ①     

     }

     public void keyPressed(KeyEvent e){

         int t=e.getKeyCode();

         if(t>=KeyEvent.VK_A &&t<=KeyEvent.VK_Z){

             text 1.append((char)t+"  ");

         }

     }

     public void    ②    (KeyEvent e){}

     public void keyReleased(KeyEvent e){}

 }

30.以下小应用程序获取图像文件bg.jpg并显示。

 import java.applet.*;import java.awt.*;

 public class Test30 extends Applet{

   lmage myImg;

   public void start(){

       myImg=getImage(    ①    ,"bg.jpg¨);

   }

   public void paint(Graphics g){

      g.   ②    (myImg,0,0,this);

   }

 }

31.以下程序段实现简单的线程创建、启动和终止的过程。

 MyThreadClass myThread=new MyThreadClass();

 myThread.    ①    ;

 try{

   myThread.sleep(10000);

 }

 Catch(InterruptedException  e){

 }

 myThread.   ②   

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

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

 Class Parent {

   String one,two;

   public Parent(String a,String b){

     one=a;two=b;

   }

   public void print(){

     System.out.println(two+"to"+one);

   }

 }

 public class Child extends Parent{

  public Child(String a,String b){

    super(a,b);

  }

  public void print(){

    System.out.println(one+"to"+two);

  }

  public static void main(String args[]){

    parent p=new Parent("south","north");

    parent t=new Child("east","west");

    p.print();

    t.print();

  }

 }

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

 import java.applet.Applet;import java.awt.*;

 public class Test33 extends Applet{

public void paint(Graphics g){

        for(int i=0;i<6;i++)

             drawGraphics(I,g);

    }

    public void drawGraphics(int n,Graphics g){

        g.clearRect(10,10,300,300);

        switch(n){

           case 0:case 3:

               g.setColor(Color.red);

               g.drawRect(50,50,150,150);

               break;

           case 1:case 4:

               g.setColor(Color.blue);

               g.drawOval(40,40,1 60,160);

               break;

           case 2:case5:

               g.setColor(Color.green);

               g.fillRect(50,50,200,200);

               break;

               }

              try{

                Thread.sleep(1500);

              }

             catch(ImerruptedException e){System.exit(0);}

        }

   }

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

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

 public class Test34 {

     public static void main(String[]args){

         ComboBoxDemo myComboBoxGUI = newComboBoxDemo();

     }

 }

 Class ComboBoxDemo extends JFrame implemems ItemListener{

      String CountryList[]={"美国","中国","英国","俄罗斯","韩国","德国"};

      im GoldMedalNumber[]={46,38,29,24,13,11};

      JLabel label;JComboBox Combobox;

      Public ComboBoxDemo(){

          setSize(350,150);

          setTitle("第三十届伦敦奥运会金牌查询");

          Comainer conPane = getContentPane();

          conPane.setLayout(new FlowLayout());

          combobox=new JComboBox(CountryList);

          combobox.addItemListener(this);

          conPane.add(combobox);

          label=new JLabel();   conPane.add(1abel);   this.setVisible(true);

      }

      public void itemStateChanged(ItemEvem e){

          if(e.getS ource()==combobox)

             label.setText(

               String.valueOf(GoldMedalNumber[combobox.getSelectedIndex()]));

     }

 }

35.阅读下列程序,请回答下面的问题:

 (1)两个文本区内分别每次追加何种字符?有多少个?

 (2)两个文本区里面内容的显示速度有何区别?

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

 public class Test35 extends Applet{

     JTextArea 1Text,rText;

     public void init() {

         setSize(600,500); setLayout(null);

         1Text=new JTextArea();  rText=new JTextArea();

         lText.setFont(new Font ("Times New Roman",1,40));

         rText.setFont(new Font("Modern",1,40));

         JScrollPane jsp1=new JScrollPane(1Text);

         JScrollPane jsp2=new JScrollPane(rText);

         add(jsp1);      add(jsp2);

         jspl.setBounds(20,20,250,450);    jsp2.setBounds(310,20,200,450);

         (new threadl(1Text,"1")).start();    (new threadl(rText,"2")).start();

     }

 }

 class threadl extends Thread{

     protected JTextArea t;

     String text="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

     public thread1(JTextArea text,String m){      super(m);  t=text; }

     public void run()  {

         while(true){

             String S=" ";

             for(int i=0;i<6;i++){

                 int k;

                 if(getName().equals("1"))

                     k=((int)(Math.random()*100)%26);

                 else

                     k=((int)(Math.random()*100)%10)+26;

                 s+=text.charAt(k); //获取k位置字符

             }

             t.append(s+"\n");

             t.setCaretPosition(t.getText().1ength());//最近输出的内容在文本区中显示

             try{sleep(getName().equals("1")?400:700);}

             catch (InterruptedException e){}

         }

    }

 }

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

 import java.io.*;

 class Test36{

     public static void main(Stringarg[]){

         int ch;

         try{

            FileReader in=new FileReader(new File("file 1.txt"));

            FileWriter out=new FileWriter(new File("file2.txt"));

            while((ch=in.read())!=-1){

                if(ch>=(int)′A′&&ch<=(int) ′Z′)

                   ch+=32;

                else if(ch>=(int) ′a′&& ch<=(ira) ′z′)

                   ch-=32;

                out.write(ch);

            }

           in.close();             out.close();

        }catch (FileNotFoundException e1){

             System.out.println("文件没有找到! "+e1);

        }catch(IOException e2){

             System.out.println("文件读写出错! "+e2);

        }

        System.out.println("程序结束! "’);

     }

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

37.编写方法int[][]transpose(int[][]a),方法将生成并返回一个新数组b,该数组为a的转置数组。

注:数组转置指的是将数组的行、列内容互换。

38.以下程序界面有一个标以“OK”的按钮bt、一个文本区ta和一个文本框tf。当在文本框中输入内容完毕后,点击“OK”按钮可以使文本框内的字符串添加到文本区中,并输出文字“因点击按钮而引发添加”;或者按回车键使得文本框内的字符串添加到文本区中,并输出文字“因在文本框里回车而引发添加”。

注:这里是给定程序的部分代码,你要编写的是actionPerformed(ActionEvent e)方法。

 import javax.swing.*;

 import java.awt.*;

 import java.awt.event.*;

 public class Test38 extends JFrame implements ActionListener{

          JButton bt=new JButton("OK");

          JTeXtField tf=new JTextField(20);

          JTextArea ta=new JTextArea(10,20);

          public Test38()    {

             Container c=getContentPane();

             c.setLayout(new FlowLayout());  //指定布局方式为顺序布局

             c.add(ta);

             c.add(bt);

             c.add(tf);

             bt.addActionListener(this);

             tf.addActionListener(this);

             setSize(400,300);

             setVisible(true);

         }

         public void actionPerformed(ActionEvent e)     {

         //请在“答题纸’’上编写以下代码

         }

         public static void main(String args[])   {

             new Test38();

        }

 }




浙江自考网课程中心

浙江自考网声明:

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

2、本网信息来源为其他媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。

浙江自考便捷服务

浙江自考网微信交流群