2014年全国计算机等级考试二级JAVA上机临考冲刺试卷(8)
-
本题的功能是监听鼠标的操作。鼠标置于窗口中单击时(左键或右键),在单击的地方会画一个小矩形,如果将鼠标置于小矩形上,则鼠标光标状态改为小十字,按下鼠标左键可拖曳,双击鼠标左键(或右键)时,小矩形消失。
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;
}
}
}
}
-
本题的功能是用流式布局管理器来管理窗口中的按钮。在执行程序时指定生成按钮的个数,并把这些按钮都放置在流式布局管理器的窗口中。
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;
}
-
本题提示输入年份,然后判断该年份是否为闰年。
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+"不是闰年");
}
}
-
下列选项中,与成员变量共同构成一个类的是( )。
- A.关键字
- B.方法
- C.运算符
- D.表达式
-
软件生命周期可分为定义阶段、开发阶段和维护阶段。详细设计属于( )。
- A.定义阶段
- B.开发阶段
- C.维护阶段
- D.上述三个阶段
-
下列选项中属于Java语言的垃圾回收机制的一项是( )。
- A.语法检查
- B.堆栈溢出检查
- C.跨平台
- D.内存跟踪
-
下列数中为八进制的是( )。
- A.27
- B.0x25
- C.026
- D.028
-
数据库设计中反映用户对数据要求的模式是( )。
- A.内模式
- B.概念模式
- C.外模式
- D.设计模式
-
下列叙述中正确的是( )。
- A.在面向对象的程序设计中,各个对象之间具有密切的关系
- B.在面向对象的程序设计中,各个对象都是公用的
- C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小
- D.上述3种说法都不对
-
按层次次序将一棵有n-个结点的完全二叉树的所有结点从1~n编号,当i≤n/2时,编号为i的结点的左子树的编号是( )。
- A.2i-1
- B.2i
- C.2i+1
- D.不确定
-
Java字节码文件的扩展名是( )。
- A..JVM
- B..dbt
- C..class
- D..exe
-
软件需求分析阶段的工作,可以分为4个方面:需求获取、需求分析、编写需求规格说明书以及( )。
- A.阶段性报告
- B.需求评审
- C.总结
- D.都不正确
-
如果要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用的方法是( )。
- A.分块法
- B.顺序法
- C.二分法
- D.散列法
-
数据库应用系统中的核心问题是( )。
- A.数据库设计
- B.数据库系统设计
- C.数据库维护
- D.数据库管理员培训
-
关于线程的生命周期以下状态正确的是( )。
- A.新建状态、可运行状态、阻塞状态、恢复状态和终止状态
- B.新建状态、运行状态、阻塞状态、恢复状态和终止状态
- C.新建状态、可运行状态、运行状态、阻塞状态和终止状态
- D.新建状态、可运行状态、运行状态、恢复状态和终止状态
-
用于在子类中调用被重写父类方法的关键字是( )。
- A.this
- B.super
- C.This
- D.Super
-
下列关于boolean类型的叙述中,正确的是( )。
- A.可以将boolean类型的数值转换为int类型的数值
- B.可以将boolean类型的数值转换为字符串
- C.可以将boolean类型的数值转换为char类型的数值
- D.不能将boolean类型的数值转换为其他基本数据类型
-
下面叙述中错误的是( )。
- A.软件测试的目的是发现错误并改正错误
- B.对被调试的程序进行“错误定位”是程序调试的必要步骤
- C.程序调试通常也被称为Debug
- D.软件测试应严格执行测试计划,排除测试的随意性
-
在多线程并发程序设计中,能够给对象x加锁的语句是( )。
- A.X.wait
- B.synchronized(x)
- C.X.notify
- D.x.synchronized
-
下列叙述中正确的是( )。
- A.栈是“先进先出”的线性表
- B.队列是“先进后出”的线性表
- C.循环队列是非线性结构
- D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
-
for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是( )。
- A.0
- B.5
- C.6
- D.无穷
-
对下列程序的叙述中,正确的是( )。
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.程序正常运行
-
下列组件不能添加进Frame主窗口的是( )。
- A.Panel
- B.CheckBox
- C.Dialog
- D.Choice
-
下列描述中,正确的是( )。
- A.在Serializable接口中定义了抽象方法
- B.在Serializable接口中定义了常量
- C.在Serializable接口中没有定义抽象方法,也没有定义常量
- D.在Serializable接口中定义了成员方法
-
下列Java组件中,不属于容器的是( )。
- A.Panel
- B.Window
- C.Frame
- D.Label
-
下列叙述中正确的是( )。
- A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
- B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
- C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
- D.上述三种说法都不对
-
阅读下列代码:
public class Person{
static int arr[]=new int[10];
public static void main(String args){
System.out.println{arr[9]);
}
}
该代码的运行结果是( )。
- A.编译时将产生错误
- B.编译时正确,运行时将产生错误
- C.输出零
- D.输出空
-
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,Ⅱ,Ⅲ,Ⅳ
-
下列数中为八进制的是( )。
- A.27
- B.0x25
- C.026
- D.028
-
软件设计中划分模块的一个准则是( )。
- A.低内聚低耦合
- B.高内聚低耦合
- C.低内聚高耦合
- D.高内聚高耦合
-
下列代码的执行结果是( )。
int length="Hell0".length;
System.OUt.println(length);
- A.5
- B.2
- C.10
- D.6
-
下列运算符中,优先级最高的是( )。
- A.++
- B.十
- C.*
- D.>
-
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
-
Java中所有类的父类是( )。
- A.Father
- B.Dang
- C.ExceptionTM
- D.Object
-
下列程序的输出结果是( )。
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.以上都不对
-
下列程序的输出结果是( )。
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
-
当使用SomeThread t=new SomeThread创建一个线程时,下列叙述中正确的是( )。
- A.SomeThread类是包含run方法的任意Java类
- B.SomeThread类一定要实现Runnable接口
- C.SomeThread类是Thread类的子类
- D.SomeThread类是Thread类的子类并且要实现Run-nable接口
-
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是( )。
- A.控制流
- B.加工
- C.数据存储
- D.源和终
-
t为int类型,进入下面的循环之前,t的值为0。则下列说法中正确的是( )。 while(t=1){…}
- A.循环控制表达式的值为0
- B.循环控制表达式的值为1
- C.循环控制表达式不合法
- D.以上说法都不对
-
结构化程序设计的核心和基础是( )。
- A.结构化分析方法
- B.结构化设计方法
- C.结构化设计理论
- D.结构化编程方法
-
下列关于boolean类型的叙述中,正确的是( )。
- A.可以将boolean类型的数值转换为int类型的数值
- B.可以将boolean类型的数值转换为字符串
- C.可以将boolean类型的数值转换为char类型的数值
- D.不能将boolean类型的数值转换为其他基本数据类型
-
下面属于面向对象语言的是( )。
- A.Java语言
- B.机器语言
- C.C语言
- D.汇编语言
-
已知一个有序线性表为(13,18,24,35,47,50,62,83,90。115,134),当用二分法查找值为90的元素时,查找成功的比较次数为( )。
- A.1
- B.2
- C.3
- D.9