一起答

2013年9月全国计算机等级《二级JAVA》命题预测试卷五

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 本题的功能是对图形进行操作,包括旋转、移位、放大和剪切。窗口中有4个单选按钮和一个图形面板,图形面板中有一个矩形和该矩形移位操作后的图形,任选其中一个单选按钮,则图形面板中将显示该操作后的图形。

    import java.awt.*;

    import java.awt.event.*;

    import java.awt.geom.*;

    import java.util.*;

    import javax.swing.*;

    public class java3

    {

    public static void main(String[]args)

    {

    JFrame. frame=new TransformTestFrame;

    frame.setDefaultCloseOperation(JFrame.EXIT_

    0N_CLoSE);

    frame.show; 

    }

    }

    class TransformTest extends JFrame

    public TransformTestFrame

    {

    setTitle("java3");

    setSize(WIDTH,HEIGHT);

    Container contentPane=getContentPane;

    canvas=new TransformPanel;

    contentPane.add(canvas,BorderLayout.CEN-

    TER);

    JPanel buttonPanel=new JPanel:

    ButtonGroup group=new ButtonGroup;

    JRadioButton rotateButton

    =new JRadioButton("旋转",true);

    buttonPanel.add(rotateButton);

    group.add(rotateButton);

    rotateButton.addActionListener(new

    ActionListener

    {

    public void actionPerformed(ActionEvent event)

    {

    canvas.setRotate;

    }

    });

    JRadioButton trans|ateButton

    =new JRadioButton("移位",false);

    buttonPanel.add(translateButton);

    group.add(translateButton);

    translateButton.addActionListener(new

    ActionLiatener

    public void actionPerformed(ActionEvent event)

    {

    canvas.setTranslate;

    }

    });

    JRadioButton scaleButton

    =new JRadioButton("放大",false);

    buttonPanel.add(scaleButton):

    group.add(scaleButton);

    scaleButton.addActionListener(new

    ActionListener

    public void actionPerformed(ActionEvent event)

    {

    canvas.setScale;

    }

    });

    JRadioButton shearButton

    =new JRadioButton("剪切",false);

    buttonPanel.add(shearButton):

    group.add(shearButton);

    shearButton.addActionListener(new

    ActionListener

    {

    public void actionPerformed(ActionEvent event)

    {

    canvas.setShear;

    }

    });

    contentPane.add(buttonPanel,BorderLayout.

    NORTH):

    }

    private TransformPanel canvas;

    private static final int WIDTH=300;

    private static final int HEIGHT=300;

    }

    class TransformPanel extend JPanel

    {

    public TransformPanel

    {

    square=new Rectangle2D.Double(-50,-50,

    100,100);

    t = new AffineTransform;

    setRotate;

    }

    public void paintComponent

    {

    super.paintComponent(g);

    Graphics2D g2=(Graphies2D)g;

    g2.translate(getWidth/2,getHeight/2):

    g2.setPaint(Color.gray);

    g2.draw(square);

    g2.transform(t); 

    g2.setPaint(Color.black);

    g2.draw(square);

    }

    public void setRotate

    {

    t.setToRotation(Math.toRadians(30));

    repaint;

    public void setTranslate

    {

    t.setToTranslation(20,1 5);

    repaint;

    public void setScale

    {

    t.setToScale(2.0,1.5):

    repaint;

    }

    public void setShear

    {

    t.setToShear(-0.2,O);

    repaint;

    }

    private Rectangle2D square;

    private AffineTransform. t;

    }

  2. 下面的程序中,有两个文本框,Input和Output,用户在Input文本框中输入字符串后回车,字符串会在Output文本框中出现。

    import java.awt.*;

    import java.awt.event.*;

    public class java2 extends Frame{

    public static void main(String args[]){

    java2 f=new java2("java2");

    Panel pan=new Panel;

    f.init;

    }

    pubhc java2(String str){

    super(str);

    }

    public void init{

    addWindowListener(new WindowAdapter{

    public void windowClosing(WindowEvent e){

    System.exit(O);

    }

    }};

    setSize(200,200);

    setLayout(new FlowlLayout);

    final TextField tfl=new TextField(20):

    final TextField tf2=new TextField(20);

    final Label hi—new Label("Input:");

    final Label la2一new Label("Output:");

    tfl.addActionListener(       {

    public void actionPerformed(ActionEvent e){

    tf2.setText(    );

    }

    });

    add(la1);

    add(tfl);

    add(la2);

    add(tf2);

    setVisible(true);

    }

    }

  3. 在程序的下画线处应填入的选项是(  )。

    public class Test        {:

    public static void main(String args[]){

    Test t=new Test;

    Thread tt=new Thread(t);

    tt.start;

    }

    public void run{

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

    System.out.println("i="+i);

    }

    }

    • A.implements Runnable
    • B.extends Thread
    • C.implements Thread
    • D.extends Runnable
  4. 本题的功能是计算二维数组各个元素的和。程序中定义了二维数组arr,arr有3行4列共l2个元素,程序中采用for循环语句的嵌套来计算数组中各个元素的和,并将结果保存在sum变量中,最后打印输出结果。

    public class javal{

    public static void main(String[] args){

    int arr[][]={{l,2,3,4},{5,6,7,8},{9,10,11,12}};

    int sum=0;

    int i=0,j=0;

    for(i=0;       )

    for(       )

           

    System.OUt.println("sum="+sum);

    }

    }

  5. 执行下面程序段后,2值为(  )。

    int x=1,y=2,z=3;

    z=z/(float)(x/y):

    • A.编译无法通过 
    • B.6
    • C.3
    • D.2
  6. 当一个Applet被加载,后续对Applet生命周期方法的调用中,可能存在的次序是(  )。

    • A.start,stop,destroy
    • B.init,start,stop,start,stop,destroy
    • C.start,init,stop,destroy
    • D.init,start,destroy
  7. 用鼠标单击菜单项(Menultem)产生的事件是(  )。

    • A.MenuEvent 
    • B.ActionEvent
    • C.KeyEvent
    • D.MouseEvent
  8. 下列叙述中正确的是(  )。

    • A.一个算法的空间复杂度大,则其时间复杂度必定大
    • B.一个算法的空间复杂度大,则其时间复杂度必定小
    • C.一个算法的时间复杂度大,则其空间复杂度必定小
    • D.上述3种说法都不对
  9. 用鼠标点击菜单项(Menultem)产生的事件是(  )。

    • A.MenuEvent 
    • B.ActionEvent
    • C.KeyEvent
    • D.MouseEvent
  10. 某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是(  )。

    • A.10 
    • B.8
    • C.6
    • D.4
  11. 有三个关系R,S和T如下:

    其中关系T由关系R和S通过某种操作得到,该操作为(  )。

    • A.选择 
    • B.投影
    • C.交 
    • D.并
  12. Swing的选项面板是(  )。 

    • A.JTabbedPane 
    • B.JLayeredPane
    • C.JScrollPane
    • D.JSplitPane
  13. 下列程序实现对ZIP文件file.zip的检索,在横线处

    填入正确的语句(  )。

    package test;

    importjava.io.*;

    import java.util.*;

    import java.util.zip.*;

    public class Exam

    public static void main(String[]args){

    try{

    FileInputStream fis=new FileInputStream("test/file.

    zip");

    ZipInputStream zis=new ZiplnputStream(fis);

    ZipEntry an;

    while((         )!=null){ 

    en.getName;

    zis.closeEntry;

    }

    zis.close:

    }

    catch(Exception e){

    printStackTrace;

    }

    }

    }

    • A.en=zis.getNextEntry
    • B.en= =zis.getNextEntry
    • C.en=zis.getEntry
    • D.zis.getNextEntry
  14. 下列程序的输出结果是(  )。

    public class Test

    {

    void printValue(int m)

    {

    do{

    System.out.println("The value is"+m)

    }

    while(--m>10)

    }

    public static void main(String args[])

    {

    int i=10;

    Test t=new Test:

    t.printValue(i);

    }

    }

    • A.The value is 8 
    • B.The value is 9
    • C.The value is 10
    • D.The value is 11
  15. 请阅读下列程序代码,然后将程序的执行结果补充完整。横线处应填写的内容是(  )。

    程序代码:

    public class throwsExeeption{

    static void Proc(intsel)

    throws Arithmetic Exception,Array Index Out Of

    Bounds Exception{

    System.out.println("InSituation"+sel);

    if(sel= =0){

    System.OUt.println("noException caught");

    return;

    }

    else if(sel= =l){

    int iArray[]=newint[4];

    iArray[1]=3;

    }

    }

    public static void main(String args[]){

    try{

    Proe(O);

    Proc(1);

    }

    catch(Array Index Out Of Bounds Exception e){

    System.out.println("Catch"+e);

    }

    finally{

    System.out.println("inProcfinally"):

    }

    }

    }

    执行结果:

    In Situation 0

    no Exception caught

    in Proc finally

    • A.In Situation l 
    • B.In Situation
    • C.with Catch
    • D.int iArray l
  16. 下列选项中为单精度数的是(  )。

    • A.2 
    • B.5.2
    • C.0.2f
    • D.023
  17. 下列与其他选项不相等的是(  )。

    • A.15 
    • B.0xF
    • C.015
    • D.0XF
  18. 下列排序方法中,最坏情况下比较次数最少的是(  )。

    • A.冒泡排序
    • B.简单选择排序
    • C.直接插入排序
    • D.堆排序
  19. 阅读下面程序

    1 public class Try extends Thread{

    2 public static void main(String args[]){

    3Try t=new Try;

    4 t.start;

    5}

    6

    7 public void run(intj){

    8 inti=0;

    9 while(i<5){

    10 System.out.println("祝你成功!");

    11 i++:

    12}

    13}

    14}

    该程序要求打印5行"祝你成功!",必须改正程序中的某行代码,程序才能完成。选择正确的修改是(  )。

    • A.将第1行的extendsThread改为implementsRunnable
    • B.将第3行的newTry改为newThread
    • C.将第4行t.start改为start(t)
    • D.将第7行的public void run(intj)改为public void run
  20. 数据流程图(DFD图)是(    )。

    • A.软件概要设计的工具
    • B.软件详细设计的工具 
    • C.结构化方法的需求分析工具
    • D.面向对象方法的需求分析工具
  21. 下列方法中,不属于Throwable类的方法是(  )。

    • A.printMessage 
    • B.getMessage
    • C.toString
    • D.fillStackTrace
  22. 相对于数据库系统,文件系统的主要缺陷有数据依赖、数据不一致性和(  )。

    • A.可重用性差 
    • B.安全性差
    • C.非持久性 
    • D.冗余性
  23. 当一个Applet被加载,后续对Applet生命周期方法的调用中,可能存在的次序是(  )。

    • A.start,stop,destroy 
    • B.init,start,stop,start,stop,destroy
    • C.start,init,stop,destroy
    • D.ink,start,destroy
  24. 设a=8,则表达式a>>>1的值是(  )。

    • A.1 
    • B.2
    • C.3
    • D.4
  25. 下列关于Applet的叙述中,正确的是(  )。

    • A.Applet不仅可以嵌入到浏览器中运行,还可以独立运行
    • B.Applet的主类要定义为Applet类或JApplet类的子类
    • C.同一个页面中的Applet之间不能通信
    • D.Applet不支持多线程
  26. 为使下列代码正常运行,应该在下画线处填入的选

    项是(  )。

    int[]numbers=new int[n];

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

    numbers[i]=i+1:

    • A.size 
    • B.length
    • C.dimension
    • D.measurement
  27. 鼠标在窗口中移动时,产生的事件是(  )。

    • A.ActionEvent 
    • B.PrintEvent
    • C.KeyEvent
    • D.MouseEvent
  28. 下列关于完全二叉树的叙述中,错误的是(  )。

    • A.除了最后一层外,每一层上的结点数均达到最大值
    • B.可能缺少若干个左右叶子结点
    • C.完全二叉树一般不是满二叉树
    • D.具有结点的完全二叉树的深度为[log2n]+1
  29. 一棵二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有结点个数为(  )。

    • A.8 
    • B.25
    • C.17 
    • D.7
  30. 阅读下列代码

    public class Test2005{

    public static void main(String args[]){

    String s="Test";

    switch(s){

    case"Java":System.out.print("Java");

    break;

    case"Language":System.out.print("Lan-

    guage");

    break;

    case"Test":System.out.print("Test");

    break;

    }

    }

    其运行结果是(  )。

    • A.Java 
    • B.Language
    • C.Test
    • D.编译时出错
  31. 在数据管理技术发展的三个阶段中,数据共享最好,的是(  )。

    • A.人工管理阶段 
    • B.文件系统阶段 
    • C.数据库系统阶段
    • D.3个阶段相同
  32. 当Applet需要更新显示内容时,应该调用的方法是(  )。

    • A.paint 
    • B.update
    • C.start
    • D.repaint
  33. 下列Java语句从指定网址读取html文件,在下画线处应填上的选项是(  )。

    Reader in=new       (new URL(urlString).

    openStream);

    • A.Reader
    • B.DataOutputStream
    • C.ByteArray InputStream
    • D.InputStreamReader
  34. 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(  )。 

    • A.一对一 
    • B.一对多
    • C.多对一
    • D.多对多
  35. 使下列程序正常运行并且输出“Hello!”,横线处应填写的内容是(  )。

    class Test         {

    public static void main(string[]args){

    Test t=new Test;

    start;

    }

    Public void run{

    System.out.println("Hello!¨);

    )

    • A.extends Thread
    • B.extends Float
    • C.extends Iostream
    • D.extends Stdio
  36. 一个Java Application运行后,在系统中是作为一 个(  )。

    • A.线程 
    • B.进程
    • C.进程或线程 
    • D.不确定
  37. 对于循环队列,下列叙述中正确的是(  )。

    • A.队头指针是固定不变的
    • B.队头指针一定大于队尾指针
    • C.队头指针一定小于队尾指针
    • D.队头指针可以大于队尾指针,也可以小于队尾指针
  38. Java为移动设备提供的平台是(  )。

    • A.J2ME 
    • B.J2SE
    • C.J2EE
    • D.JDK 5.0
  39. 阅读下列代码片段

    class InterestTest——ActionListener{

    public"void actionPerformed(ActionEvent event){

    double interest=balance*rate/1 00 ;

    balance+=interest;

    NumberFormat format=NumberFormat.getCur-

    rencyInstance;

    System.OUt.print]b("balance="+formatter.

    format(balance));

    }

    Private double rate;

    }

    在下画线处,应填的正确选项是(  )。

    • A.Implementation 
    • B.Inheritance
    • C.implements
    • D.extends
  40. 下列叙述中,错误的是(  )。

    • A.JavaApplication与Applet所用编译命令相同
    • B.通常情况下JavaApplication只能有一个main方法
    • C.JavaApplet必须有HTML文件才能运行
    • D.JavaApplet程序的.class文件可用Java命令运行
  41. 以下程序计算1+1/3+1/5+…+1/(2N+1),直至1/(2N+1)小于0.00001,横线处应补充的程序是(  )。

    public class Sun{

    public static void main(String args[]){

    int n=1:

    double term,sum=1.0:

    do{

    n=__;

    term=1.0/n;

    sum=sum+term;

    }

    while(term>=0.00001);

    System.out.println(n);

    System.out.println(sum);

    }

    }

    • A.2n
    • B.2n+1
    • C.2*n
    • D.2*n+1
  42. 下面的(  )关键字通常用来对对象加锁,从而使得对对象的访问是排他的。

    • A.serialize 
    • B.transient
    • C.synchronized
    • D.static
  43. 为保护本地主机,对Applet安全限制中正确的是(  )。

    • A.Applet可加载本地库或方法
    • B.Applet可读、写本地计算机的文件系统 
    • C.Applet可向Applet之外的任何主机建立网络连接
    • D.Applet不能运行任何本地可执行程序