视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
全国2010年10月自学考试Java语言程序设计(一)试题及答案
2025-09-27 23:44:06 责编:小OO
文档
中国自考人(www.zk8.com.cn)——700门自考课程 永久免费、完整 在线学习 快快加入我们吧!

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

课程代码:04747

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

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

1.以下是关于Java语言关键字的叙述,其中正确的是(    C  )

A.关键字可以用来描述类的成员类型,但是不能描述普通变量

B.关键字由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成

C.关键字不可以用作变量、方法、类或标号的标识符

D.break和main都是Java语言的关键字

2.执行以下代码,输出结果是(  B    )

int x=5,y=7,u=9,v=6;

System.out.println(x>y ? x+2:u>v ? u-3:v+2);

A.8    B.6

C.7    D.true

3.Java语言中,只限子类或者同一包中的类的方法能访问的访问权限是(  C    )

A.public    B.private

C.protected D.<无修饰>

4.设有数组定义int[][] x={{1,2},{3,4,5},{6},{}};,则x.length的值为(   B   )

A.3    B.4

C.6    D.7

5.在以下Swing的类中,属于容器的是(   A   )

A.JApplet    B.JButton

C.JTextArea    D.JMenu

6.在以下供选择的方法中,属于接口MouseMotionListener的方法是(  D    )

A.mouseReleased()    B.mouseEntered()

C.mouseExited()    D.mouseMoved()

7.小程序要播放音频文件,可使用类(  C    )

A.Audio    B.JAudio

C.AudioClip    D.JAudioClip

8.以下是关于线程的叙述,正确的是(    A  )

A.多线程的使用可以提高设备的平行工作能力,但是使系统管理变得复杂

B.同一个进程下的线程都有自己的状态、专用数据段和的内存资源

C.线程是能运行的程序

D.进程的执行效率比线程的执行效率高

9.在Java的类库中,包含实现输入/输出操作的包是(    B  )

A.java.util    B.java.io

C.java.applet    D.java.awt

10.在编写访问数据库的Java程序时,ResultSet对象的作用是(  D    )

A.建立新数据库连接    B.用来表示与数据库的连接

C.在指定的连接中处理SQL语句    D.存储查询结果

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

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

11.Java语言采用多种机制来保证可移植性,其中最主要的是_虚拟机(或者字节码)_____。

12.程序包声明的格式是__package包名____。

13.当联编推迟至运行时间实现时,该联编过程称为__动态联编____。

14.使用默认字节字符对应表,将字符串转化为字节数组的方法是____getBytes()__。

15.在Swing中,带有滚动条的面板的类名是___JScrollPane___。

16.组合框(JComboBox)是__文本框和列表____的组合。

17.在某个组件中绘图,一般应该为这个组件所属的子类重写__paint()____方法。

18.多线程互斥使用__共享资源____的程序段,在操作系统中称为临界段。

19.在Java语言中,文件随机访问可以利用__RandomAccessFile____类实现。

20.Java程序可以用纯Java的_JDBC_____驱动程序,实现与数据库连接。

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

21.请使用for循环语句计算S=1+的值。

答: double s=0.0;

for(int i=1;i<=10;i++)

       s=s+1.0/i;

22.请写出Applet类中init()方法的功能。

答:创建所需要的对象、设置初始状态、装载图像、设置参数等。

23.请写出空布局安置组件的两个步骤。

答:先使用add()方法向容器添加组件,然后调用setBounds()方法设置组件在容器中的位置和组件本身的大小。

24.在Swing中,对话框有几种?并请写出它们的主要区别。

答:对话框分别强制型和非强制型。强制型对话框强制对话过程不能中断,非强制型对话框可以中断对话过程。

25.请写出用Runnable接口实现多线程的主要工作。

答:声明实现Runnable接口的类,在类内实现run()方法;并在类内声明线程对象,在init()方法或start()方法中创建新线程;并在start()方法中启动新线程。

26.请写出用InetAddress类,获取网址为“www.edu.cn”的IP地址的Java语句。

答:InetAddress addr= InetAddress.getByName(“www.edu.cn”);

   String IPName=addr.getHostAddress();

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

27.方法boolean isPrime(int n)的功能是判断正整数n(n>1)是否为质数。

static boolean isPrime(int n) {

 int i; 

 if(n==2)return true;

 if(n%2==0)return false;

for(i=3;i*i<=n;i+=2)

 if(___n%i==0______) break;

if(___i*i>n______) return true;

 return false;

}

28.某小应用程序窗口中有一个文本框,一个8行10列的文本区以及一个按钮,点击这个按钮时,在文本框中输入的内容会追加到文本区中。

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

  public class TextAPP extends Applet implements ActionListener {

  JTextField input;  JTextArea display; JButton append;

  public void init() {

      input = new JTextField(10);

      display = new      JTextArea(8,10)       ;

      append = new JButton("追加");

      add(input); add(display); add(append);

      input.requestFocus();   display.setLineWrap(true);

      append.addActionListener(this);

  }

  public void actionPerformed(ActionEvent e),{

      display.       append     (input.getText() +" ");

  }

 }

29.某小应用程序有一个由3个单选按钮组成的颜色选择组,当选中某种颜色时,窗口的背景颜色将作相应的变化。这里给出的是窗口子类My Window的定义的框架以及其构造函数的定义。

class MyWindow extends JFrame implements    ItemListener           {

     MyWindow(String s) {

           super(s);

           Container con = this.getContentPane();

           con.setLayout(new GridLayout(3,2));

           this.setLocation(100, 100);  this.setSize(400, 400);

           panel 1 = new Panel l ();

           label l = new JLabel("改变前景颜色",JLabel.CENTER);

           con.add(label 1 );       con.      Add(panel1)        ;

          panel 1 .box 1 .addltemListener(this);

          panel 1 .box 2.addItemListener(this);

          panel 1 .box 3.addItemListener(this);

          this. setVisible (true);      this.pack();

    }

  …

  }

30.某小应用程序的界面有两个按钮,点击“画圆”按钮,程序在窗口画一个圆,点击“画矩形”按钮,程序在窗口画一个矩形。

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

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

public class Class l extends Applet implements ActionListener {

     boolean c = false; int r = 50,a = 50, b = 50;

     JButton bl, b2;

     public void init(){

          setSize(200, 200);   setBackground(Color.blue);

          b1 = new JButton("画  圆"); b2 = new JButton("画矩形");

          b1.addActionListener(this);  b2.addActionListener(this);

          add(b1);  add(b2); setVisible(true);

     }

     public void      paint       (Graphics g){

          g.clearRect(70, 100, 130, 200);

          g.setColor(Color. red);

          if(c)    g.drawRoundRect(70, 100, r, r, r, r);

          else    g.drawRect(70, 100, a, b);

     }

   public void update(Graphics g){   paint(g);    }

   public void actionPerformed(ActionEvent e){

          if(e.getSource()==b1) { c = true;   }

          else if(e.getSource()==b2){  c = false; }

             repaint()       ;

     }

  }

31.某按钮的监视器方法actionPerformed()实现将文本区中的内容写入到文本文件myText.txt中。

           public void actionPerformed(ActionEvent e)   {

               try  {

                  int n = txtFld.getText().length();

                  byte buffer[]=new byte[n];

                  buffer=txtFid.getText().getBytes();

                  FileOutputStream wf=new      FileOutputStream        ("myText.txt");

                  wf. write(buffer, 0,n);

                     wf.close()       ;

          }catch (IOException ioe){   txtFld.setText(ioe.toString());    }

    }

}

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

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

public class A {

     int m = 5;    static int n = 3;

     public static void main(String[] args) {

          A obj 1 = new A();     A obj2 = new A();

           objl.m *= 2; objl.n *= 4;  obj2.m += 1; obj2.n += 6;

           System.out.println("obj 1.m='' + obj 1.m);

           System.out.println("obj 1.n=" + obj 1.n);

           System.out.println("obj2.m=" + obj2.m);

          System.out.println("obj2.n=" + obj2.n);

}

}

答:

obj1.m=10

obj1.n=18

obj2.m=6

obj2.n=18

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

class Test33 {

     static int merger(int [] a, int []b, int []c){

     int i = 0, j = 0, k = 0;

while(i < a.length && j < b.length) {

if(a[i] < b[j])c[k++] = a[i++]; else c[k++] = b[j++];

     }

while(i < a.length) c[k++] = a[i++];

while(j < b.length) c[k++] = b[j++];

     return k;

   }

  public static void main(String[] args) {

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

     int []c = new int[100];  int p = merger(a, b, c);

for(int k = 0; k < p; k++)

System.out.print(c[k]+ (k < p-1 ? " ":"\\n"));

  }

}

答:1 2 3 5 6 9

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

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

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

public class Class l extends Applet implements ActionListener{

     JTextField Text I =new JTextField(5);

     JTextField Text2=new JTextField(5);

     JTextField Text3=new JTextField(5);

     JLabel Label 1 =new JLabel("Please input three numbers:");

     JLabel Label2=new JLabel(" ");

     JButton but=new JButton("Start!");

     public void init()  {

          setLayout(new GridLayout(6,1));     add (Label 1);

          add (Textl);     add (Text2);     add (Text3);

          add (but);   add (Label2);

          Label2.setFont(new Font ("Courier", 1, 20));

          but.addActionListener(this);

     }

     public void actionPerformed(ActionEvent e) {

          int a,b,c;

          a=Integer.parseInt(Text 1.getText());

          b=Integer.parselnt(Text2.getText());

          c=Integer.parselnt(Text3.getText());

if (a + b < c || b + c < a || c + a < b) {

                Label2 .setForeground (Color. red );

                Label2.setFont(new Font ("Courier ", 1, 24));

                Label2.setText("No.");

          }     else     {

                Label2.setForeground(Color.blue);

                Label2.setFont(new Font ("Courier ", 2, 24));

                Label2.setText(" Yes.");

        }

     }

}

答:在文本框中输入3个数字,单击“Start”按钮,如果该3个数字是能做为三角形的边长,则输出“Yes”,否则输出“No”.

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

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

class MyScrollBar extends JScrollBar {

     public MyScrollBar(int init, int len, int low, int high){

           super(JScrollBar.HORIZONTAL, init, len, low, high);

     }

     public Dimension getPreferredSize(){

           return new Dimension(125, 20);

    }

}

class MyWindow extends JFrame implements AdjustmentListener{

     private JTextField  text;

     MyWindow(String s){

           super(s);

           MyScrollBar tempBar = new MyScrollBar(l0, 10, 0, 255);

           Container con = this.getContentPane();

           con.setLayout(new GridLayout(2,1));

           this.setSize(250, 100);  this.setLocation(100, 100);

           tempBar.addA djustmentListener(this);

           text= new JTextField("移动滚动条的滑块",20);

           con.add(text); con.add(tempBar);  this.setVisible(true);  this.pack();

     }

public void adjustmentValueChanged(AdjustmentEvent e){

    MyScrollBar myBar=(MyScrO11Bar)e.getAdjustable();

    text.setText("选择的值是:"+myBar.getValue());

    }

}

public class Test35 {

     public static void main(String[] args) { new MyWindow("滚动条示意程序"); }

}

答:拖动水平滚条上的滑块,在文本框内显示滑块的对应值。

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

import java util.*;

class MyThread extends Thread {

     int pauseTime; String name;

     public MyThread (int x, String n) { pauseTime = x;   name = n; }

     public void run() {

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

             try {

                 System.out.println(name +":" +new Date(System.currentTimeMillis()));

                 Thread.sleep(pauseTime);

                }catch(Exception e){ }

}

}

}

public class Test36{

     static public void main(String[] args) {

          MyThread thread1 = new MyThread (1000,"Fast Thread"); thread 1 .start();

          MyThread thread2 = new MyThread (3000,"Slow Thread"); thread2.start();

    }

}

答:在程序中创建两个线程,该两个线程交替执行,按两个不同的时间间隔显示当前时间。

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

37.请编写方法int countNum(String str),该方法的功能是统计已知字符串str中数字的个数。例如,countNum("A42B83C2D")的返回值是5。    

答: int countNum(String str){

            Byte b[]=str.getByte();

            int s=0;

for(int i=0;i if(b[i]>=’0’&&b[i]<=’9’){

 s++;

}

}

return s;

}

38.一个小应用程序,界面如下图所示,其功能为实现摄氏温度和华氏温度的相互转换。以下是程序的大部分,请编写其中的监视器方法。

  注:华氏温度(F)=摄氏温度(C)×9/5+32

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

import java.awt.event.*;

public  class  test38  extends  Applet  implements

ActionListener {

     JTextField textl, text2;

     JButton c2f, f2c;

     public void init() {

    text l = new JTextField(5);      text2 = new JTextField(5);

c2f=new JButton("摄氏转换为华氏");

f2c=new JButton("华氏转换为摄氏");

add(text 1);add(text2);    add(c2f);add(f2c);

text1.requestFocus();

c2f.addActionListener(this);f2c.addActionListener((this);

}

public void actionPerformed(ActionEvent e) {

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

    }

}

答: double result;

   if(e.getSource()==c2f)

        result=Double.parseDouble(text1.getText())*9/5+32;

            text2.setText(String.valueOf(result));

}else{

    Result=(Double.parseDouble(text1.getText())-32)*5/9;

    text2.setText(String.valueOf(result));

}下载本文

显示全文
专题