2013年9月全国计算机等级《二级JAVA》命题预测试卷一
-
本题中,鼠标在窗口中单击一下,就在单击的位置生成一个小矩形,如果在小矩形上双击鼠标左键,则删除小矩形。
import java.awt.*;
import java.awt.event.*;
import javax swing.*;
class MousePanel extends JPanel extends MouseMo-
tionListener
{public MousePanel
{addMouseListener(new MouseAdapter
{public void mousePressed(MouseEvent evt)
{int X=evt.getX;
int Y=evt.getY;
current=find(x,y);
if(current<0)
add(x,y);
}
public void mouseClicked(MouseEvent evt)
{int X=evt.getX;
int Y=evt.getY;
if(evt.getClickCount>=2)
{remove(current);
}
}
});
addMouseMotionListener(this);
}
public void paintComponent(Graphics g)
{super.paintComponent;
for(int i=0;i
draw(g,i);
}
public int find(int X,int y)
(for(int i=0;i
if(squares[i].x-SQUARELENGTH/2<=
x
X<=squares[i].x+SQuARELENGTH/2
squares[i].Y-SQUARELENGTH/2<
=Y
y<=squares[i].Y+SQUARELENGTH
/2)
return i ;
return-1 ;
}
public void draw(Graphics g,int i)
{g.drawRect(squares[i].X-SQUARE-
LENGTH/2。
squares[i].Y-SQUARELENGTH/2,
SQUARELENGTH,
SQUARELENGTH);
}
public void add(int X,int Y)
{if(nsquares
{squares[nsquares]=new Point(x,y);
current=nsquares ;
nsquares++;
repaint;
}
}
public void remove(int n)
{if(n<0 ‖ n>=nsquares)return;
Nsquares- -;
squares[n]=squares[nsquares];
if(current= =n)current= -l;
repaint;
}
public void mouseMoved(MouseEvent evt)
{}
public void mouseDragged(MouseEvent evt)
{}
private static final int SQUARELENGTH=10:
private static final int MAXNSQUARES=100;
private Point[]squares=new Point[MAX-
NSQUARES];
private int nsquares=0;
private int current=-l;
}
class MouseFrame. extends JFramc
{public MouseFrame
{setTitle("java3");
setSize(300,200);
addWindowListener(new WindowAdapter
{public void windowClosing(WindowEvent e)
{System.exit(0);
}
});
Container contentPane=getContentPane;
contentPane.add(MousePanel);
}
}
public class java3
{public static void main(String[]args)
{JFrame. frame=new MouseFrame;
frame.show;
}
}
-
本题中,用表格表现某个月的月历,其中标题是从Sunday到Saturday,表格中的各项是可以修改的。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class java2
(
public static void main(String[]args)
{
try{
UIManager.setLookAndFeel(UIManager.getSys-
temLookAndFeelClassName):
}
catch(Exception e)
JFrame. frame=new CalendarTableFrame;
frame.setDefaultCloseOperation(JFrame.EXIT_
oN CLOSE);
frame.show;
}
}
clasgCalendarTableFrame. extends JFrame
{
private static final int WIDTH=500;
private static final int HEIGHT=150:
private cells=
{
{null,null,null,new Integer(1),new Integer
(2),new Integer(3),new Integer(4)),
{new Integer(5),new Integer(6),new Integer
(7).new Integer(8),new Integer(9),new Integer
(10),new Integer(11)),
{new Integer(12),new Integer(13),new Integer
(14),new Integer(15),new Integer(16),new Integer
(17),new Integer(18)),
{new Integer(19),new Integer(20),new Integer
(21),new Integer(22),new Integer(23),new Integer
(24),new Integer(25)),
{new Integer(26),new Integer(27),new Integer
(28),new Integer(29),new Integer(30),new Integer
(31),null}
};
private String[]columnNames={
"Sunday","Monday","Tuesday","Wednesday",
"Thursday","Friday","Saturday"
};
public CalendarTableFrame{
setTitle("java2");
setSize(WIDTH,HEIGHT);
JTable table=new ;
getContentPane.add(new JScrollPane(table),
BorderLayout.CENTER);
}
}
-
本题中定义了一个长度为20的整数数组,然后将1~20分别赋给数组元素,计算该数组中所有下标为奇数的元素的和。
public class javal{
public static void main(String args[]){
int sum;
;
int arrayList[]=new int[20];
for(int i=0;i<=19;i++)
arrayList[i]=i+1;
int pos=0;
while(pos<20){
if( )
sum=sum+arrayList[pos];
;
}
System.out.println("sum="+sum);
}
}
-
下列命令中用于激活系统守候进程以便能够在Ja—
va虚拟机上注册和激活对象的是( )。
- A.rmic
- B.rmiregistry
- C.rmid
- D.serialver
-
下列说法正确的是( )。
- A.类FileInputStream和FileOutputStream用来进行文 件I/O处理,由它们所提供的方法可以打开本地主机上的文件,并进行顺序的读/写
- B.通过类File的实例或者一个表示文件名称的字符串可以生成文件输入/输出流,在流对象生成的同时,文件被 打开,但还不能进行文件读/写
- C.对于InputStream和OutputStream来说,它们的实例都是是非顺序访问流,即只能进行顺序的读/写
- D.当从标准输入流读取数据时,从键盘输入的数据直接输入到程序中
-
当检索一个压缩文件时,首先要建立压缩文件输入流对象,该对象( )。
- A.以选中的压缩文件为参数
- B.以FileInputStream对象为参数
- C.以InputStreamReader对象为参数
- D.以BufferedReader对象为参数
-
下列变量的定义中,错误的是( )。
- A.int X=3;
- B.float f;d;
- C.String s="Hell0";
- D.boolean b=true;
-
下列各选项中属于Java保留字的是( )。
- A.TRUE
- B.NULL
- C.FALSE
- D.null
-
若特快订单是一种订单,则特快订单类和订单类的关系是( )。
- A.使用关系
- B.包含关系
- C.继承关系
- D.无关系
-
对象状态的持久化是通过( )实现的。
- A.文件
- B.管道
- C.串行化
- D.过滤器
-
Java程序的并发机制是( )。
- A.多线程
- B.多接口
- C.多平台
- D.多态性
-
构造方法名必须与( )相同,它没有返回值,用户不能直接调用它,只能通过new调用。
- A.类名
- B.对象名
- C.包名
- D.变量名
-
下列方法中能完成主类实例初始化工作的是( )。
- A.start
- B.stop
- C.ink
- D.paint
-
下列( )不是高级程序设计语言。
- A.FORTRAN
- B.Java
- C.C++
- D.Visual ASM
-
下列程序中,若从键盘中输入的是大写字母C,则程序输出的结果是( )。
Importjava.io.*;
public class Exam{
public static void main(String args[]){
int ch=0;
System.out.println("输入一个字符:");
try{
ch=System.in.read;
charch_A='A',ch_Z='Z';
int delta c=(int)ch A+(int)ch Z-ch;
syStem. out.println("编码后的字符为:"+(char)delta_c);
}
catch(IOException e){
printStackTrace;
}
}
}
- A.C
- B.Y
- C.X
- D.字母C的ASCIl码的整型值
-
容器类java.awt.container的父类是( )。
- A.java.awt.Window
- B.java.awt.Component
- C.java.awt.Frame
- D.java.awt.Panel
-
在一个容量为32的循环队列中,若头指针front=3,尾指针rear=2,则该循环队列中共有元素个数为( )。
- A.29
- B.30
- C.31
- D.32
-
下列不属于Java关键字的是( )。
- A.this
- B.super
- C.finally
- D.NULL
-
当使用SomeThread t=new SomeThread创建一个线程时,下列叙述中正确的是( )。
- A.SomeThread类是包含run方法的任意Java类
- B.SomeThread类一定要实现Runnable接口
- C.SomeThread类是Thread类的子类
- D.SomeThread类是Thread类的子类并且要实现Runnable接口
-
能将程序补充完整的选项是( )。
class Person
{
private int a;
public int change(int m){return m;)
}
public class Teacher extends Person
{
public int b;
public static void main(String arg[])
{
Person p=new Person;
Teacher t=new Teacher;
int i;
}
}
- A.i=m
- B.i=b
- C.i=P.a
- D.i=P.change(50)
-
在软件开发中,需求分析阶段产生的主要文档是( )。
- A.软件集成测试计划
- B.软件详细设计说明书
- C.用户手册
- D.软件需求规格说明书
-
可以使当前同级线程重新获得运行机会的方法是( )。
- A.Sleep
- B.join
- C.yield
- D.interrupt
-
在Java中,与数据库连接的技术是( )。
- A.开放数据库连接
- B.Java数据库连接
- C.数据库厂家驱动程序
- D.数据库厂家的连接协议
-
char类型被封装在( )中。
- A.java.lang.Integer
- B.java.lang.Char
- C.java.lang.Boolean
- D.java.lang.Character
-
下列运算符中,优先级最高的是( )。
- A.+=
- B.= =
- C.
- D.+ +
-
AWT中用来表示颜色的类是( )。
- A.Font
- B.Color
- C.Panel
- D.Dialog
-
一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序历结果为( )。
- A.ACFBED
- B.DFBECA
- C.ABCDEF
- D.DEBFCA
-
在Java中能实现多重继承效果的方式是( )。
- A.内部类
- B.适配器
- C.接口
- D.同步
-
结构化程序设计的3种基本结构是( )。
- A.过程、子程序和分程序
- B.顺序、选择和重复
- C.递归、堆栈和队列
- D.调用、返回和转移
-
下列关于栈叙述正确的是( )。
- A.栈顶元素能最先被删除
- B.栈顶元素最后才能被删除
- C.栈底元素永远不能被删除
- D.以上三种说法都不对
-
Thread类中能运行线程的方法是( )。
- A.resume
- B.start
- C.run
- D.init
-
下列有关操作系统的叙述中,不正确的是( )。
- A.操作系统管理计算机系统中的各种资源
- B.操作系统为用户提供良好的界面
- C.操作系统与用户程序必须交替运行
- D.操作系统位于各种软件的最底层
-
下列组件不能添加进Frame主窗口的是( )。
- A.Panel
- B.CheckBox
- C.Dialog
- D.Choice
-
下列代码将对象写入的设备是( )。
ByteArrayOutputStream bout=new ByteArrayOut-
putStream;
ObjectOutputStream ut=new ObjectOutputStream
(bout);
out.writeObject(this);
out.close;
- A.内存
- B.硬盘
- C.屏幕
- D.网络
-
下面语句会产生编译错误的是( )。
- A.float F=1024.OF;
- B.double D=1024.0;
- C.byte B=1024;
- D.char C=1024;
-
下列代码中,将引起一个编译错误的行是( )。
1)public class Test{
2)int m,n;
3)public Test{}
4)public Test(int a){m=a;)
5)public static void main(String args[]){
6)Test tl,t2;
7)int j,k;
8)j=0;k=0;
9)tl=new Test;
10)t2=new Test(j,k);
11)}
12)}
- A.第3行
- B.第5行
- C.第6行
- D.第l0行
-
下列说法中,( )是正确的。
- A.子类拥有的成员数目大于等于父类拥有的成员数目
- B.父类代表的对象范围比子类广
- C.子类要调用父类的方法,必须使用super关键字
- D.一个Java类可以有多个父类
-
下列表达式中正确的是( )。
- A.5++
- B.(a+b)++
- C.++(a+b)
- D.++x
-
下列叙述中正确的是( )。
- A.在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息
- B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节
- C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则
- D.在程序设计过程中,不能同时采用结构化程序设计 方法与模块化程序设计方法
-
下列方法被调用后,一定使调用线程改变当前状态的是( )。
- A.notify
- B.yield
- C.sleep
- D.isAlive
-
在软件开发中,需求分析阶段可以使用的工具是( )。
- A.N-S图
- B.DFD图
- C.PAD图
- D.程序流程图
-
下列叙述中正确的是( )。
- A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
- B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
- C.顺序存储结构能存储有序表,链式存储结构不能存储有序表
- D.链式存储结构比顺序存储结构节省存储空间
-
下面代码段的输出是( )。
if(5 8L7)0&8L5|2)system.out.println("true");
- A.编译出错
- B.5752
- C.true
- D.无任何输出