一起答

2014年全国计算机等级考试二级JAVA上机临考冲刺试卷(8)

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 本题的功能是监听鼠标的操作。鼠标置于窗口中单击时(左键或右键),在单击的地方会画一个小矩形,如果将鼠标置于小矩形上,则鼠标光标状态改为小十字,按下鼠标左键可拖曳,双击鼠标左键(或右键)时,小矩形消失。

    import java.awt.*;

    import java.awt.event.*;

    import java.util.*;

    import java.awt.geom.*;

    import javax.swing.*;

    public class java3

    {

    public static void main(String[]args)

    {

    MouseFrame. frame=new MouseFrame:

    frame.setDefaultCloseOperation(JFrame.EXIT_

    oN_CLOSE);

    frame.show;

    }

    }

    class MouseFrame. extends JFrame

    {

    public MouseFrame

    {

    setTitle("java3");

    setSize(DEFAULT WIDTH, DEFAULT

    HEIGHT):

    MousePanel panel=new MousePanel;

    Container contentPane=getContentPane;

    contentPane.add(panel);

    }

    public static final int DEFAULT_WIDTH=300;

    public static final int DEFAULT_HEIGHT=200;

    }

    class MousePanel extends JPanel

    {

    public MousePanel

    {

    squares=new ArrayList;

    current=null:

    addMouseListener(new MouseHandler);

    addMouseMotionListener(new MouseMotionHan-

    dler);

    }

    public void paintComponent(Graphics g)

    {

    super.paintComponent(g);

    Graphics2D g2=(Graphics2D)g;

    for(int i=0;i

    g2.draw((Rectangle2D)squares.get(i));

    }

    public void find(Point2D p)

    for(int i=0;i

    {

    Rectangle2D r=(Rectangle2D)squares.get(i);

    if(r.contains(p))return r;

    }

    return null:

    }

    public void add(Point2D p)

    {

    double x=P.getX;

    double Y=P.getY:

    current=new Rectangle2D.Double(

    x-SIDELENGTH/2.

    y-SlDELENGTH/2.

    S1DELENGTH,

    SIDELENGTH);

    squares.add(current);

    repaint;

    }

    public void remove(Rectangle2D s)

    {

    if(S= =null)return:

    if(S= =current)current=null;

    squares.remove(s):

    repaint;

    }

    private static final int SIDELENGTH=10:

    private ArrayList squares;

    private Rectangle2D current;

    private class MouseHandter extends MouseAction-

    Listener

    {

    public void mousePressed(MouseEvent event)

    {

    current=find(event.getPoint);

    if(current= =null)

    add(event.getPoint);

    }

    public void mouseClicked(MouseEvent event)

    current=find(event.getPoint);

    if(current!=nullevent.getClickCount

    >=2)

    remove(current);

    }

    }

    private class MouseMotionHandler implements Mouse-

    MotionListener

    {

    public void mouseMoved(MouseEvent event)

    {

    if(find(event.getPoint)= =null)

    setCursor(Cursor.getDefaultCursor);

    else

    setCursor(Cursor.getPredefinedCursor

    (Cursor.CROSSHAIR_CURSOR));

    }

    public void mouseDragged(MouseEvent event)

    {

    if(current!=null)

    {

    int x=event.getX:

    int Y=event.getY; 、

    current.setFrame(

    x-SIDELENGTH/2,

    Y-SlDELENGTH/2.

    SIDELENGTH,

    SIDELENGTH);

    repaint;

    }

    }

    }

    }

  2. 本题的功能是用流式布局管理器来管理窗口中的按钮。在执行程序时指定生成按钮的个数,并把这些按钮都放置在流式布局管理器的窗口中。 

    import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    public class java2 

    {

    public static void main(String[]args)

    {

    if(args.length!=1)

    {

    System.out.println("请指定按钮的个数");

    System.exit(0);

    }

    String buttonString=args[O];

    int buttonNumber=       ;

    ButtonFrame. frame=new ButtonFrame(button-

    Number);

    frame.setDefaultCloseOperation(JFrame.EXIT_

    ON_CLoSE);

    frame.show;

    }

    }

    class ButtonFrame. extends JFrame

    {

    public ButtonFrame(      )

    {

    buttons=buttonNumber:

    setTitle("java2");

    setSize(WIDTH,HEIGHT);

    JPanel buttonPanel=new JPanel;

    for(int i=0;i{

    JButton addButton=new JButton("add"+i):

    buttonPanel.add(addButton);

    Container contentPane=getContentPane;

    contentPane.add(buttonPanel);

    }

    public static final int WIDTH=350;

    public static final int HEIGHT=200:

    private int buttons;

    }

  3. 本题提示输入年份,然后判断该年份是否为闰年。

    importjava.io.*;

    public class javal{

    public static void main(String[]args){

    InputStreamReader ir;

    BufferedReader in;

    ir=new InputStreamReader(System.in);

    in=new BufferedReader(ir);

    int year=1900;

    System.out.print("请输入年份:");

    try{

    String s=in.readLine;

             

            (Exception e){

    }

    if(  )

    System.OUt.println(year+"是闰年");

    else

    System.out.println(year+"不是闰年");

    }

    }

  4. 下列选项中,与成员变量共同构成一个类的是(  )。

    • A.关键字 
    • B.方法
    • C.运算符 
    • D.表达式
  5. 软件生命周期可分为定义阶段、开发阶段和维护阶段。详细设计属于(  )。

    • A.定义阶段 
    • B.开发阶段
    • C.维护阶段 
    • D.上述三个阶段
  6. 下列选项中属于Java语言的垃圾回收机制的一项是(  )。

    • A.语法检查 
    • B.堆栈溢出检查
    • C.跨平台
    • D.内存跟踪
  7. 下列数中为八进制的是(  )。

    • A.27 
    • B.0x25
    • C.026
    • D.028
  8. 数据库设计中反映用户对数据要求的模式是(  )。

    • A.内模式 
    • B.概念模式
    • C.外模式 
    • D.设计模式
  9. 下列叙述中正确的是(  )。 

    • A.在面向对象的程序设计中,各个对象之间具有密切的关系
    • B.在面向对象的程序设计中,各个对象都是公用的
    • C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小
    • D.上述3种说法都不对
  10. 按层次次序将一棵有n-个结点的完全二叉树的所有结点从1~n编号,当i≤n/2时,编号为i的结点的左子树的编号是(  )。

    • A.2i-1 
    • B.2i
    • C.2i+1
    • D.不确定
  11. Java字节码文件的扩展名是(  )。

    • A..JVM 
    • B..dbt
    • C..class
    • D..exe
  12. 软件需求分析阶段的工作,可以分为4个方面:需求获取、需求分析、编写需求规格说明书以及(  )。

    • A.阶段性报告 
    • B.需求评审
    • C.总结 
    • D.都不正确
  13. 如果要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用的方法是(  )。

    • A.分块法 
    • B.顺序法
    • C.二分法 
    • D.散列法
  14. 数据库应用系统中的核心问题是(  )。

    • A.数据库设计
    • B.数据库系统设计
    • C.数据库维护
    • D.数据库管理员培训
  15. 关于线程的生命周期以下状态正确的是(  )。

    • A.新建状态、可运行状态、阻塞状态、恢复状态和终止状态
    • B.新建状态、运行状态、阻塞状态、恢复状态和终止状态
    • C.新建状态、可运行状态、运行状态、阻塞状态和终止状态
    • D.新建状态、可运行状态、运行状态、恢复状态和终止状态
  16. 用于在子类中调用被重写父类方法的关键字是(  )。

    • A.this
    • B.super
    • C.This
    • D.Super
  17. 下列关于boolean类型的叙述中,正确的是(  )。

    • A.可以将boolean类型的数值转换为int类型的数值
    • B.可以将boolean类型的数值转换为字符串
    • C.可以将boolean类型的数值转换为char类型的数值
    • D.不能将boolean类型的数值转换为其他基本数据类型
  18. 下面叙述中错误的是(  )。

    • A.软件测试的目的是发现错误并改正错误
    • B.对被调试的程序进行“错误定位”是程序调试的必要步骤
    • C.程序调试通常也被称为Debug
    • D.软件测试应严格执行测试计划,排除测试的随意性
  19. 在多线程并发程序设计中,能够给对象x加锁的语句是(  )。

    • A.X.wait 
    • B.synchronized(x)
    • C.X.notify
    • D.x.synchronized
  20. 下列叙述中正确的是(  )。

    • A.栈是“先进先出”的线性表
    • B.队列是“先进后出”的线性表
    • C.循环队列是非线性结构
    • D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
  21. for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是(  )。

    • A.0 
    • B.5
    • C.6
    • D.无穷
  22. 对下列程序的叙述中,正确的是(  )。

    1:public class X extends Thread implements Runnable{

    2:public void run{

    3:system.out.println("this is run");

    4:}

    5:oublic static void main(String args[]){

    6:Thread t=new Thread(new X):

    7:t.start;

    8:}

    9:}

    • A.第l行会产生编译错误
    • B.第6行会产生编译错程
    • C.第6行会产生运行错误
    • D.程序正常运行
  23. 下列组件不能添加进Frame主窗口的是(  )。

    • A.Panel 
    • B.CheckBox
    • C.Dialog
    • D.Choice
  24. 下列描述中,正确的是(  )。

    • A.在Serializable接口中定义了抽象方法
    • B.在Serializable接口中定义了常量
    • C.在Serializable接口中没有定义抽象方法,也没有定义常量
    • D.在Serializable接口中定义了成员方法
  25. 下列Java组件中,不属于容器的是(  )。

    • A.Panel 
    • B.Window
    • C.Frame
    • D.Label
  26. 下列叙述中正确的是(  )。

    • A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
    • B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
    • C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
    • D.上述三种说法都不对
  27. 阅读下列代码:

    public class Person{

    static int arr[]=new int[10];

    public static void main(String args){

    System.out.println{arr[9]);

    }

    }

    该代码的运行结果是(  )。

    • A.编译时将产生错误
    • B.编译时正确,运行时将产生错误
    • C.输出零
    • D.输出空
  28. Java API ee支持线程的类或接口是(  )。

    Ⅰ.java.lang.Thread

    Ⅱ.java.lang.Runnable

    Ⅲ.java.lang.ThreadGroup

    IV.java.io.Serializable

    • A.I,Ⅱ
    • B.I,Ⅱ,Ⅲ
    • C.I,Ⅱ,IV
    • D.I,Ⅱ,Ⅲ,Ⅳ
  29. 下列数中为八进制的是(  )。

    • A.27 
    • B.0x25
    • C.026
    • D.028
  30. 软件设计中划分模块的一个准则是(  )。

    • A.低内聚低耦合
    • B.高内聚低耦合
    • C.低内聚高耦合
    • D.高内聚高耦合
  31. 下列代码的执行结果是(  )。

    int length="Hell0".length;

    System.OUt.println(length);

    • A.5 
    • B.2
    • C.10
    • D.6
  32. 下列运算符中,优先级最高的是(  )。

    • A.++ 
    • B.十
    • C.*
    • D.>
  33. int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是(  )。

    • A.public int MAX LENGTH=100
    • B.final int MAX—LENGTH=100
    • C.public const int MAX_LENGTH=100
    • D.public final int MAX_LENGTH=100
  34. Java中所有类的父类是(  )。

    • A.Father 
    • B.Dang
    • C.ExceptionTM
    • D.Object
  35. 下列程序的输出结果是(  )。

    public class ArrayTest

    {

    public static void main(String args[])

    {

    int[]intArray=new int[3]

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

    {

    intArray[i]=i+2:

    system.out.println("lntArray["+i+"]¨=

    intArray[i]);

    }

    System.out.println("----------");

    int arrlen=4:

    IntArray=new int[arrLen];

    For(int j=intArray.length;j>=0;j--)

    {

    intArray[j]=j*3;

    system.out.println("hello"+intArray[j]);

    }

    }

    }

    • A.编译未通过 
    • B.编译通过,但运行错误
    • C.可以运行,但有错误 
    • D.以上都不对
  36. 下列程序的输出结果是(  )。

    class Test{

    public static void main(String args[]){

    int n=7:

    n<<=3;

    n=n&n+1|n+2^n+3;

    n>>=2:

    System.out.println(n);

    }

    )

    • A.0 
    • B.-l
    • C.14 
    • D.64
  37. 当使用SomeThread t=new SomeThread创建一个线程时,下列叙述中正确的是(  )。

    • A.SomeThread类是包含run方法的任意Java类
    • B.SomeThread类一定要实现Runnable接口
    • C.SomeThread类是Thread类的子类
    • D.SomeThread类是Thread类的子类并且要实现Run-nable接口
  38. 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(  )。

    • A.控制流 
    • B.加工
    • C.数据存储 
    • D.源和终
  39. t为int类型,进入下面的循环之前,t的值为0。则下列说法中正确的是(  )。 while(t=1){…}

    • A.循环控制表达式的值为0
    • B.循环控制表达式的值为1
    • C.循环控制表达式不合法
    • D.以上说法都不对
  40. 结构化程序设计的核心和基础是(   )。

    • A.结构化分析方法   
    • B.结构化设计方法
    • C.结构化设计理论   
    • D.结构化编程方法
  41. 下列关于boolean类型的叙述中,正确的是(  )。

    • A.可以将boolean类型的数值转换为int类型的数值
    • B.可以将boolean类型的数值转换为字符串
    • C.可以将boolean类型的数值转换为char类型的数值
    • D.不能将boolean类型的数值转换为其他基本数据类型
  42. 下面属于面向对象语言的是(  )。

    • A.Java语言 
    • B.机器语言
    • C.C语言 
    • D.汇编语言
  43. 已知一个有序线性表为(13,18,24,35,47,50,62,83,90。115,134),当用二分法查找值为90的元素时,查找成功的比较次数为(  )。

    • A.1 
    • B.2
    • C.3
    • D.9