2013年9月全国计算机等级《二级JAVA》命题预测试卷四
-
本题的功能是监听鼠标的拖曳操作。窗口中有一个列表框,列表框中列出了当前目录的所有文件,鼠标选中一个或多个文件后拖曳出窗口,此操作的功能是将拖曳的文件复制一份在拖曳的目的目录下。
import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.dnd.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
public class java3
{
public static void main(String[]args)
{
JFrame. frame=new DragSourceFrame;
frame.setDefauhCloseOperation(JFrame.EXIT_
0N_CLoSE);
frame.show;
}
}
class DragSoureeFrame. extends JFrame
{
public DragSourceFrame
{
setTitle("java3");
setSize(WlDTH,HElGHT);
Container contentPane=getContentPane;
File f=new File(".").getabsoluteFile;
File[]files=f.listFiles;
model=new DefaultListModel;
for(int i=0;i
) try
{
model.addElement(files[i].getCanonicalFile);
}
catch(IOException exception)
{
JOptionPane.showMessageDialog(this,exeep-
tion);
}
fileList=new JList(model);
contentPane.add(new JScrollPane(fileList),
BorderLayout.CENTER);
contentPane.add(new JLabel("从列表中拖曳出文
件"),
BorderLayout.NoRTH);
DragSource dragSource=DragSource.getDefauh-
DragSource;
dragSource.createDefaultDragGestureRecognizer
(fileList,
DnDConstants. ACTION_COPY_0R_
MOVE,new
DragGestureListener
{
public void dragGestureRecognized(
DragGestureEvent event)
{
draggedValues=fileList.getSelectedValues;
Transferable transferable
=new FiteListTransferable(draggedValues);
evenr.startDrag(null,transferable,
new FileListDragSourceListener);
}
});
}
private class FileListDragSourceListener imple-
ments DragSourceAdapter
{
public void dragDropEnd(DragSourceDropEvent e-
vent)
{
if(event.getDropSuccess)
{
int action=event.getDropAction;
if(action= =DnDConstants.ACTl0N MOVE)
{
for(int i=0;i
model.removeElement(draggedValues[i]);
}
}
}
}
private JList fileList;
private DefauhListModel model;
private Object[]draggedValues;
private static final int WIDTH=300;
private static final int HEIGHT=200;
}
class FileListTransferable implements Transferable
{
public FileListTransferable(Object[]files)
{
fileList=new ArrayList(Arrays.asList(files));
}
public DataFlavor[]getTransferDataFlavors
{
return flavors;
public boolean isDataFlavorSupported(DataFlavor
flavor)
{
return Arrays. asList(flavors), contains(flavor) ;
}
public Object getTransferData(DataFlavor flavor)
throws UnsupportedFlavorException
if(flavor, equals(DataFlavor, javaFileListFlavor) )
return fileList;
else if(flavor, equals(DataFlavor, stringFlavor))
return fileList, toString ;
else
throw new UnsupportedFlavorException(flavor) ;
}
private static DataFlavor[] flavors =
{
DataFlavor. j avaFileListFlavor,
DataFlavor. stringFlavor
};
private java. util. List fileList;
-
本题的功能是获得字符串“China”的长度和最后一个字符,并将这些信息打印出来。
public class javal(
public static void main(String[]args){
;
str="China";
int n=0:
;
char C;
;
System.out.println("字符串中共有"+n+"个字
符,最后一个字符是:"+c);
}
}
-
本题中,窗口的背景色为系统桌面的颜色,在窗口中分别画空心和实心的黑色矩形、深灰色圆角矩形和浅灰色椭 圆形,并且画白色粗体的“欢迎学习Java!”字符串。
import java.awt.*;
import javax.swin9.*;
public class java2
{
public static void main(String[]args)
{
FillFrame. frame=new FillFrame;
frame.setDefaultCloseOperation(JFrame.EXIT_
ON_CLOSE);
frame.show;
}
}
class FillFrame. extends JFrame
{
public FillFrame
{
setTitle("java2"):
setSize(WIDTH,HEIGHT);
FillPanel panel=new FillPanel;
panel.setBackground(SystemColor.desktop);
Container contentPane=getContentPane;
contentPane.add(panel);
}
public static final int WIDTH=400;
public static final int HEIGHT=250;
}
class FitlPanel extends JPanel
{
public void paintComponent(Graphics g)
{
;
g.setColor(new Color(10,10,10));
g.drawRect(10,10,100,30);
g.setColor(new Color(100,100,lOO));
g.drawRoundRect(150,10,100,30,15,15);
g.setColor(new Color(150,150,150));
g.drawOval(280,10,80,30);
g.setColor(new Color(10,10,10));
g.fillRect(10,ll0,100,30);
g.setColor(new Color(100,100,100));
g.fillRoundRect(150,110,100,30,15,15);
g.setColor(new Color(150,150,150));
g.fillOval(280,110,80,30);
g.setColor(Color.white);
Font f=new Font("宋体”, ,20);
g.setFont(f);
g.drawstring("欢迎学习Java!",l50,200);
}
}
-
数据流程图(DFD图)是( )。
- A.软件概要设计的工具
- B.软件详细设计的工具
- C.结构化方法的需求分析工具
- D.面向对象方法的需求分析工具
-
下列不属于Swing中构件的是( )。
- A.JPanel
- B.JTable
- C.Menu
- D.JFrame
-
下列叙述中,错误的是( )。
- A.内部类的名称与定义它的类的名称可以相同
- B.内部类可用abstract修饰
- C.内部类可作为其他类的成员
- D.内部类可访问它所在类的成员
-
假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有的元素个数为( )。
- A.50
- B.19
- C.1
- D.20
-
下列程序的输出结果是( )。
Public class Test{
Public static void main(String[]args){
int[]array=(2,4,6,8,10);
int size=6;
int result=-l:
try{
for(int i=0;i
if(array[i]= =20)result=i:
}
catch(ArithmeticException e){
System.out.println("Catch---1");
}
catch(ArraylndexOutOfBoundsException e){
System.out.println("Catch---2"):
}
catch(Exception e){
System.out.println("Catch---3"):
}
}
- A.Catch---1
- B.Catch---2
- C.Catch---3
- D.以上都不对
-
下列关于正则表达式的说法,不正确的是( )。
- A.在J2SE l.4中的正则表达式包中有一个Pattern类
- B.在J2SE l.4中的正则表达式包中有一个Macher类
- C.在J2SE l.4中的正则表达式包名为java.util.regex
- D.以上说法都不对
-
下列程序片段中,能通过编译的是( )。
- A.public abstract class Animal{ public void speak;}
- B.public abstract class Animal{ public void speak{);}
- C.public class Animal{ pubilc abstract void speak;}
- D.public abstract class Animal{ pubile abstract void speak{};}
-
如果入栈序列为CEDB,以下哪一个是从栈中删除元素的序列?( )
- A.BED
- B.BDE
- C.BEDC
- D.BDEC
-
下列选项中,不能输出100个整数的是( )。
- A.for(int i=0;i<100;i++) System.out.println(i);
- B.int i=0; do{ System.out.println(i); i++: }while(i<100);
- C.int i=0: while(i<100){System.out.println(i); i++: }
- D.int i=0: while(i<100){ i++: if(i<100)continue: System.out.println(i); }
-
下列操作中,不属于Applet安全限制的是( )。
- A.加载本地库
- B.读写本地文件系统
- C.运行本地可执行程序
- D.与同一个页面中的Applet通信
-
JScrollPane面板的滚动条是通过哪个对象来实现?( )
- A.JViewport
- B.JSplitPane
- C.JTabbedPane
- D.JPanel
-
下列代码中的内部类名是( )。
import java.awt.event.*;
lapoct javax.swin9.*;
class TalkingClock(
public void start(int interval,final boolean beep){
- ActionListener listener=new
- ActionListener{ public void actionPerformed(ActionEvent e- vent){ … } } Timer t=new Timer(interval,listener); &n
- A.Timer
- B.ActionListener
- C.1istener
- D.匿名
-
下列说法中,正确的一项是( )。
- A.Java语言是以类为程序的基本单位的
- B.Java语言是不分大小写的
- C.多行注释语句必须以//开始
- D.在Java语言中,类的源文件名和该类名可以不相同
-
算法的空间复杂度是指( )。
- A.算法程序的长度
- B.算法程序中的指令条数
- C.算法程序所占的存储空间
- D.算法执行过程中所需要的存储空间
-
下列关于Test类的定义中,正确的是( )。
- A.class Test implements Runnable{ public void run{}
- Dublic void someMethod[]{} }
- B.class Test implements Runnable( puIblic void run; }
- C.class Test implements Runnable(
- Dublic void someMethod[]; }
- D.class Test implements Runnable( public void someMethod{} }
-
开发软件时对提高开发人员工作效率至关重要的是( )。
- A.操作系统的资源管理功能
- B.先进的软件开发工具和环境
- C.程序员的数量
- D.计算机的并行处理能力
-
下列不属于表达式语句的是( )。
- A.++i;
- B.--j;
- C.b#a;
- D.b*=a;
-
当启动Applet程序时,首先调用的方法是( )。
- A.stop
- B.init
- C.start
- D.destroy
-
栈中允许进行插入和删除的一端称为( )。
- A.栈顶
- B.栈底
- C.栈端
- D.栈尾
-
对于给出的一组权w={10,12,16,21,30},通过霍夫曼算法求出的扩充二叉树的带权外部路径长度为( )。
- A.89
- B.189
- C.200
- D.300
-
设有一个已按各元素的值排好序的顺序表(长度大于2),现分别用顺序查找法和二分查找法查找与给定值k相等的元素,比较的次数分别是s和b,在查找不成功情况下s和b的关系是( )。
- A.s=b
- B.s>b
- C.sD.s>=b
-
在Java语言中,封闭是借助于( )实现的。
- A.对象
- B.类
- C.数组
- D.成员
-
代码System.out.println(066)的输出结果是( )。
- A.12
- B.36
- C.54
- D.66
-
Java中的字符变量在内存中占位(bit)为( )。
- A.4
- B.8
- C.16
- D.24
-
下列数据结构中,属于非线性结构的是( )。
- A.循环队列
- B.带链队列
- C.二叉树
- D.带链栈
-
Java语言中如果要使用某个包中的类时,需要使用 ( )导人。
- A.inport
- B.outport
- C.import
- D.input
-
下列选项成员变量声明正确的是( )。
- A.public protected final int i;
- B.abstract class Fl{…}
- C.private double height;
- D.double weight
-
下列关于Java对import语句规定自叙述中,错误的是( )。
- A.在Java程序中import语句可以有多个
- B.在Java程序中import语句可以没有
- C.在Java程序中import语句必须有一个
- D.在Java程序中import语句必须引入在所有类定义之前
-
一个栈的初始状态为空,首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A,B,C。D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为( )。
- A.54321ABCD
- B.5ABCD4321
- C.DCBAl2345
- D.1DCBA2345
-
下列关于Java语言特点的叙述中,错误的是( )。
- A.Java是面向过程的编程语言
- B.Java支持分布式计算
- C.Java是跨平台的编程语言
- D.Java支持多线程
-
下列标识符(名字)命名原则中,正确的是( )。
- A.类名的首字母小写
- B.变量和方法名的首字母大写
- C.接口名的首字母小写
- D.常量完全大写
-
在Java中,若要使用一个包中的类时,首先要求对该包进行导入,其关键字是( )。
- A.import
- B.package
- C.include
- D.packet
-
下列叙述中,错误的是( )。
- A.Java中,方法的重载是指多个方法可以共享同一个名字
- B.Java中,用abstract装饰的类称为抽象类,它不能实例化
- C.Java中,接口是不包含成员变量和方法实现的抽象类
- D.Java中,构造方法可以有返回值
-
下列描述中,错误的是( )。
- A.Java要求编程者管理内存
- B.Java的安全性体现在多个层次上
- C.Applet要求在支持Java的浏览器上运行
- D.Java有多线程机制
-
下面程序段的输出结果是( )。
public class Test{
public static void main(String args[]){
int X,y;
x=(int)Math.sqrt(5)/2+(int)Math.random*5/2;
y=(int)Math.sqrt(3)/2+(int)Math.random*3/2;
if(x>v)
System.OUt.println("x>y");
elseif(x= =y)
System.out.println("x=Y");
else
System.out.println("x
}
}
- A.x>y
- B.x=Y
- C.x
- D.编译错误
-
在E-R图中,表示实体联系的框是( )。
- A.矩形
- B.椭圆形
- C.菱形
- D.正方形
-
需求分析阶段的任务是( )。
- A.软件开发方法
- B.软件开发工具
- C.软件开发费用
- D.软件系统功能
-
为了支持压栈线程与弹栈线程之间的交互与同步,应
在下画线处填入的选项是( )。
public class StackTest{
private int idx=0;
private int[]data=new int[8]
public void push(int i){
synchronized(this){
;
data(idx)=i:
idx++:
}
}
}……
- A.this.notify
- B.interrupt
- C.this.wait
- D.sleep
-
下面for循环语句的执行结果是( )。
for(int j=10;j>3;j--)
if(j%3 !=O)
j--;
--j;
--j;
System.out.println(j);
}
- A.63
- B.74
- C.62
- D.73
-
Java对I/O访问所提供的同步处理机制是( )。
- A.字节流
- B.过滤流
- C.字符流
- D.压缩文件流