2013年9月全国计算机等级《二级JAVA》考前冲刺试卷六
-
本题的功能是,用户利用单选按钮选择性别,在下面的标签中显示用户的选择结果。
import java.awt.*;
;
public class java2{
public static void main(String args[]){
Frame. f=new Frame("java2");
f.setLayout(new GridLayout(3,1));
f.addWindowListener(new WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(O);
}
});
CheckboxGroup cg=new CheckboxGroup;
Checkbox male=new Checkbox("男",cg,false);
Checkbox female=new Checkbox("女",cg,false);
final Label la=new Label("请选择你的性别");
male.addItemListener(new hemListener{
public void itemStateChanged(ItemEvent e){
la.setText("你是个男生?");
}
});
female.addItemListener(new ItemListener{
public void itemStateChanged(ItemEvent e){
la.setText("你是个女生?");
}
});
f.add(male);
f.add(female);
f.add(la);
f.setSize(200,200):
;
}
}
-
本题的功能是对列表项的操作,包括删除、添加和反选。窗司中有两个列表框和5个按钮,按钮标签代表着移除列表项的方向,“>”代表只移除选中的列表项,“>>”代表移除所有的列表项,“!”代表反向选择列表项。
import java.awt.*;
import java.awt.event.*;
class java3extends Frame implements
ActionListener&ItemListener{
final static int ITEMS=10;
List ltList=new List(ITEMS,true);
List rtList=new List(0,true);
java3{
super("java3");
addWindowListener(new WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(O);
}
});
GridBagLayout gbl=new GridBagLayout;
setLayout(gbl);
add(1tList,0,0,1,5,1.0,1.0);
add(rtList。2,O,1,5,1.O,1.O);
ltList.addActionListener(this);
ltList.addhemListener(this);
rtList.addActionListener(this);
rtList.addhemListener(this);
Button b;
add(b=new Button(">"),1,O,1,1,O,1.0);
b.addActionListener(this);
add(b=new Button(">>"),1,1,1,1,0,1.O);
b.addActionListener(this);
add(b=new Button("<"),1,2,1,1,O,1.0);
b.addActionListener(this);
add(b=newButton("<<"),1,3,1,1,O,1.O);
b.addActionListener(this);
add(b=new Button("!"),1,4,1,1,0,1.O);
b.addActionListener(this);
for(int i=0;i
ltList.add("item"+i);
}
pack;
show;
}
void add(Component comp,
int X,int Y,int W,int h,double weightx,double
weighty){
GridBagLayout gbl=(GridBagLayout)getLayout
;
GridBagConstraints c=new GridBagConstraints
;
e.fill=GridBagConstraints.BOTH;
c.gridx=x;
c.gridy=y;
c.gridwidth=W;
c.gridheight=h;
c.weightx=weightx;
c.weighty=weighty;
add(comp);
gbl.setConstraints(comp,c);
}
void reverseSelections(List l){
for(int i=0;i<1.length;i++){
if(1.islndexSelected(i)){
1.deselect(i);
}else{
1.select(i);
}
}
}
void deseleetAll(List l){
for(int i=0;i<1.gethemCount;i++){
1.deseleet(i);
}
}
void replacehem(List l,String item){
for(int i=0;i<1.getltemCount;i++){
if(1.gethem(i).equals(item)){
1.replacehem(item+"*",i);
}
}
}
void move(List ll,List l2,boolean all){
if(a11){
for(int i=0;i<11.getltemCount;i++){
12.add(11.gethem(i));
}
11.removeAll;
}else{
String[]items=11.getSelectedhems;
int[]itemIndexes=11.getSelectedIndexes;
deselectAll(12);
for(int i=0;i
12.add(items[i]);
12.select(12.getItemCount-1);
if(i= =0){
12.makeVisible(12.getltemCount-1);
}
}
for(int i=itemlndexes.length-1; i>=0;i--){
11.remove(itemlndexes[i]);
}
}
}
public void actionPerformed(AetionEvent evt){
String ar9=evt.getActionCommand;
if(">".equals(arg)){
move(1tList,rtList,false);
}else if(">>".equals(arg)){
move(1tList,rtList,true);
}else if("<".equals(arg)){
move(rtList,ltList,false);
}else if("<<".equals(arg)){
move(rtList,ltList,true);
}else if("!".equals(arg)){
if(ltList.getSelectedhems.length>0){
reverseSelections(ltList);
}else if(rtList.getSelectedhems.length>
0){
reverseSelections(rtList);
}
}else{
Object target=evt.getSouree;
if(target= =rtList‖target= =ltList){
replacehem((List)target,arg);
}
}
}
public void itemStatedChanged(ItemEvent ent){
List target=(List)evt.getSource;
if(target= =hList){
deselectAll(rtList);
} else if(target= =rtList){
deselectAll(ltList);
}
}
public static void main(String[]args){
new java3;
}
}
-
本题定义了一个求两个数的最大值的方法max,并调用该方法计算67和23的最大值。
public class javal{
public static void main(String[]args){
javal temp=new javal;
int res=max(67,23);
System.out.println("res="+res);
}
static int maX( ){
int maxNum;
if(a>b)
;
else
maxNum=b;
;
}
}
-
下列程序的功能是在监控台上每隔一秒钟显示一个字符串”Hello!”,能够填写在程序中下画线位置,使程序完整并能正确运行的语句是( )。
public class Test implements Runnable{
public static void main(String args[]){
Test t=new Test:
Threadt t=new Thread(t);
tt.start:
}
public void run{
for(;;){
try{
;
}catch(e){}
System.out.println("Hello");
}
}
}
- A.sleep(1000)
- B.t.sleep(1000)InterruptedExceptionInterruptedException
- C.Thread.sleep(1000)
- D.Thread.sleep(1000)RuntimeExceptionInterruptedException
-
下面程序段的输出结果是( )。
class Base
{
int i;
Base
{
- add(1); } void add(int v) {
- i+=v: } void print { System.out.println(i); } }
- class Extension extends Base {
- Extension {
- add(2); } void add(int v) {
- i+=v*2: } } public class Test { public static void main(String args[]) {
- bogo(new Extension); } static void bogo(Base b) {
- add(8); print; } }
- A.9
- B.18
-
在读取二进制数据文件的记录时,为了提高效率常
常使用的一种辅助类是( )。
- A.InputStream
- B.FileInputStream
- C.StringBuffer
- D.BufferedReader
-
下列可以获得构件前景色的方法是( )。
- A.getsize
- B.getForeground
- C.getBackground
- D.paint
-
设数组data[0…m]作为循环队列S q的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为( )。
- A.S q↑.front:=S q十.front+1;
- B.S q↑.front:=(S q十.front+1)%maxsize;
- C.S q↑.rear:=(s q十.rear+1)%maxsize;
- D.S q↑.front:=(s q十.front+1)%(maxsize+1);
-
下列代码中
if(x>O){System.out.println("first");}
elseif(x>-3){System.out.println("second");)
else{System.out.println("third");)
要求打印字符串为“second”时,X的取值范围是( )。
- A.x<=0且x>-3
- B.x>0
- C.x>-3
- D.x<=-3
-
下列关于JavaApplication与Applet的说法中,正确的是( )。
- A.都包含main方法
- B.都通过“appletviewer”命令执行
- C.都通过“javac”命令编译
- D.都嵌入在HTML文件中执行
-
Applet的运行过程要经历4个步骤,其中不是运行步骤的是( )。
- A.浏览器加载指定URL中HTML文件
- B.浏览器显示HTML文件
- C.浏览器加载HTML文件中指定的Applet类
- D.浏览器中的Java运行环境运行该Applet
-
int类型的取值范围为( )。
- A.-216~216-1
- B.-231~231-1
- C.-232~232-1
- D.-264~264-1
-
软件需求分析一般应确定的是用户对软件的( )。
- A.功能需求
- B.非功能需求
- C.性能需求
- D.功能需求和非功能需求
-
下列选项中,不是一个算法的基本特征的是( )。
- A.完整性
- B.可行性
- C.有穷性
- D.拥有足够的情报
-
String、StingBuffer都是( )类,都不能被继承。
- A.static
- B.abstract
- C.final
- D.private
-
下列构造方法的调用方式中,正确的是( )。
- A.按照一般方法调用
- B.由用户直接调用
- C.只能通过new自动调用
- D.被系统调用
-
层次型、网状型和关系型数据库划分原则是( )。
- A.记录长度
- B.文件的大小
- C.联系的复杂程度
- D.数据之间的联系方式
-
Java中的抽象类Reader和Writer所处理的流是( )。
- A.图像流
- B.对象流
- C.字节流
- D.字符流
-
对鼠标单击按钮操作进行事件处理的接口是( )。
- A.MouseListener
- B.WindowListener
- C.ActionListener
- D.KeyListener
-
Thread类的方法中用于修改线程名字的方法是( )。
- A.setName
- B.reviseName
- C.getName
- D.checkAccess
-
下列不属于接口WindowListener的方法是( )。
- A.windowClosing
- B.windowClosed
- C.windowMinimized
- D.windowOpened
-
如果线程调用下列方法,不能保证使该线程停止运行的是( )。
- A.sleep
- B.stop
- C.yield
- D.wait
-
以下( )命令能为远程对象生成stub和skeleton。
- A.rmiregistry
- B.serialver
- C.rmic
- D.rmid
-
下列叙述中,错误的是( )。
- A.Applet的默认布局管理器是FlowLayout
- B.JApplet中增加构件是加到JApplet的内容面板上,不是直接加到JApplet中
- C.JApplet的内容面板的默认布局管理器是Border-Layout
- D.JApplet的内容面板的默认布局管理器是FlowLay-out
-
为了提高软件模块的独立性,模块之间最好是( )。
- A.控制耦合
- B.公共耦合
- C.内容耦合
- D.高内聚低耦合
-
数据库管理系统是( )。
- A.操作系统的一部分
- B.在操作系统支持下的系统软件
- C.一种编译系统
- D.一种操作系统
-
下列关于Java多线程并发控制机制的叙述中,错误的是( )。
- A.Java中对共享数据操作的并发控制是采用加锁技术
- B.线程之间的交互,提倡采用suspend/resume方法
- C.共享数据的访问权限都必须定义为private
- D.Java中没有提供检测与避免死锁的专门机制,但程序员可以采用某些策略防止死锁的发生
-
在程序的下画线处应填入的选项是( )。
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
-
在学生管理的关系数据库中,存取一个学生信息的数据单位是( )。
- A.文件
- B.数据库
- C.字段
- D.记录
-
下列代码的执行结果是( )。
public class Test
{
public static void main(String args[])
{
System.out.println(5/2);
System.OUt.println(100%3.O)
}
}
- A.2和1
- B.2和1.0
- C.2.5和1
- D.2.5和1.0
-
将E—R图转换为关系模式时,实体和联系都可以表示为( )。
- A.属性
- B.键
- C.关系
- D.域
-
软件设计中模块划分应遵循的准则是( )。
- A.低内聚低耦合
- B.高内聚低耦合
- C.低内聚高耦合
- D.高内聚高耦合
-
Class类的对象由( )自动生成,隐藏在.class文件中,它在运行时为用户提供信息。
- A.Java编译器
- B.Java解释器
- C.Java new关键字
- D.Java类分解器
-
下列变量定义中,不合法的是( )。
- A.int SX;
- B.int_123;
- C.int Summer 2010_gross_sale;
- D.int#dim;
-
AWT中用来表示对话框的类是( )。
- A.Font
- B.Color
- C.Panel
- D.Dialog
-
下面程序段的输出结果为( )。
package test;
public class ClassA
{
int x=20:
static int y=6;
public static void main(String args[])
{
ClassB b=new ClassB;
go(10);
System.out.println("x="+b.x);
}
}
class ClassB
{
int X;
void go(int y)
{
ClassA a=new ClassA;
x=a.Y ;
}
}
- A.x=10
- B.x=20
- C.x=6
- D.编译不通过
-
阅读下列程序
public class VariableUse{
public static void main(String[]args){
int a;
if(a= =8){
int b=9;
System.OUt.println("a="+a):
System.out.println("b="+b);
}
System.Out.println("a="+a):
System.OUt.println("b="+b);
}
}
该程序在编译时的结果是( )。
- A.变量a未赋值
- B.第二个System.out.println("b="+b)语句中,变量b作用域有错
- C.第二个System.out.println("a="+a)语句中,变量a作用域有错
- D.第一个System.out.println("b="+b)语句中,变量b作用域有错
-
下列关于线程和进程的说法正确的是( )。
- A.进程结构的所有成分都在用户空间内
- B.用户程序能够直接访问进程涉及的数据
- C.线程是内核级的实体
- D.线程结构驻留在用户空间中
-
下列各项说法中错误的是( )。
- A.共享数据的所有访问都必须使用synchronized加锁
- B.共享数据的访问不一定全部使用synchronized加锁
- C.所有的对共享数据的访问都是临界区
- D.临界区必须使用synchronized加锁
-
设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有元素个数为( )。
- A.5
- B.15
- C.35
- D.40
-
设A为已定义的类名,则下列声明A类的对象a的语句中正确的是( )。
- A.public A a=new A
- B.public A a=A
- C.A a=new class;
- D.a A;
-
JDK中,用( )命令对其源文件进行编译,生成字节码文件。
- A.java.exe
- B.javac.exe
- C.javadoc.exe
- D.javap.exe
-
在创建线程时可以显式地指定线程组,此时可供选择的线程构造方法有( )种。
- A.1
- B.2
- C.3
- D.4