2013年9月全国计算机等级《二级JAVA》命题预测试卷八
-
本题的功能是将文件java2.java复制为文件java2.java.bak。
importjava.io.*;
public class java2{
public static void main(String sarg[]){
try{File file=new File("java2.java.bak");
;
FilelnputStream rfile=new FilelnputStream("ja-
va2.java");
FileOutputStream wfile=new FileOutputStream
("java2.java.bak");
int c;
while( )
wfile.write((char)c);
rfile.close;
wfile.close;
}catch(Exception e){System.out.println("读取文
件的时候发生错误!");}
System.out.println("复制操作完成!");
}
}
-
本题是一个计时器。窗口中有1个文字标签和3个按钮,名为“复位”、“开始”和“暂停”,初始状态时只有“开始”按钮可用,单击该按钮开始计时,并且“开始”按钮的标签变为“继续”且不可用,“暂停”按钮变为可用,单击“暂停”按钮后“暂停”按钮变为不可用,“复位”和“继续”按钮变为可用,此时如果单击“复位”按钮将恢复到初始状态,如果单击“继 续”按钮,则继续进行计数。
import java.awt.*;
import java.awt.event.*;
public class java3 extends Frame. extends Runnable
{
Label timeDisp=new Label("0:0",Label.
CENTER);
Thread timerThread;
int time=0:
Button btReset=new Button("复位");
Button btStart=new Button("开始");
Button btStop=new Button("暂停");
java3{
super("java3");
Panel P=new Panel(new GridLayout(1,O));
btReset.setEnabled(false);
btStop.setEnabled(true);
addWindowListener(new WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
btReset.addActionListener(new ResetListener
);
btStop.addActionListener(new StopListener);
btStart.addActionListener(new StartListener);
P.add(btReset);
P.add(btStart);
P.add(btStop);
add(P,BorderLayout.SOUTH);
timeDisp.setFont(new Font("Courier",Font.
BOLD,60));
add(timeDisp,BorderLayout.CENTER);
pack;
show;
}
void stop{
Thread t=timerThread;
if(t!=null){
timerThread=null:
try{t.join;}catch(Exception e){}
}
}
public void run{
while(timerThread= =Thread.currentThread
){
timeDisp.setText(""+time/10+":"+time%
10+"0");
time++;
try { Thread.sleep(100);}catch(Exception e)
{};
}
}
class ResetListener implements ActionListener{
public void actionPerformed(ActionEvent evt){
this.stop;
timeDisp.setText("0:0");
time=0 ;
btReset.setEnabled(false);
btStart.setEnabled(true);
btStop.setEnabled(false);
btStart.setLabel("开始");
}
}
class StopListener implements ActionListener{
public void actionPerformed(ActionEvent evt){
java3.this.stop;
btReset.setEnabled(true);
btStart.setEnabled(true);
btStop.setEnabled(false);
btStart.setLabel("继续");
}
}
class StartListener implements ActionListener{
public void actionPerformed(ActionEvent evt){
timerThread=new Thread(java3.this);
timerThread.start;
btReset.setEnabled(false);
btStart.setEnabled(false);
btStop.setEnabled(true);
btStart.setLabel("继续");
}
}
static public void main(String[]args){
new java3;
}
}
-
本题统计字符串str中字母a出现的次数,其中str为“(7&asdfasdf873eat687#al(4a”,字母'a'存储在字符变量c中,最后打印输出结果。
public class javal{
public static void main(String[]args){
String str="(*&7asdf adf873eat687#al(4a";
char c;
int sum=0;
int i=0:
do{
c= ;
if( )
sum++:
i++:
}while( );
System.out.println("sum="+sum);
}
}
-
线性表L=(al,a2,a3,…ai,…an),下列说法正确的是( )。
- A.每个元素都有一个直接前件和直接后件
- B.线性表中至少要有一个元素
- C.表中诸元素的排列顺序必须是由小到大或由大到小
- D.除第一个元素和最后一个元素外,其余每个元素都有且只有一个直接前继和直接后继
-
支持子程序调用的数据结构是( )。
- A.栈
- B.树
- C.队列
- D.二叉树
-
Java的反汇编命令是( )。
- A.javap
- B.javac
- C.jdb
- D.java
-
下列包中,包含JOptionPane类的是( )。
- A.javax.swing
- B.java.lang
- C.java.util
- D.java.applet
-
下列线程状态转换序列,程实际运行中可能出现的序列是( )。
- A.新建→运行→阻塞→终止
- B.……运行→阻塞→可运行→终止
- C.……可运行→运行→阻塞→运行……
- D.新建→可运行→运行→阻塞→可运行……
-
结构化分析方法是面向( )的自顶向下逐步求精进行需求分析的方法。
- A.对象
- B.数据结构
- C.数据流
- D.目标
-
一个栈的初始状态为空。现将元素l、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
- A.12345ABCDE
- B.EDCBA54321
- C.ABCDEl2345
- D.54321EDCBA
-
在Java中,实现用户界面功能的包是( )。
- A.java.applet
- B.javax.transaction
- C.java.util
- D.java.awt
-
在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则关系A的外码是( )。
- A.CN
- B.SN
- C.S
- D.D
-
关于内存变量的调用,下列说法中正确的是( )。
- A.私有变量只能被本层模块程序调用
- B.私有变量能被本层模块和下层模块程序调用
- C.局部变量不能被本层模块程序调用
- D.局部变量能被本层模块和下层模块程序调用
-
下列程序段的输出结果是( )。
int data=0 ;
char k='a',P='f ';
data=P-k:
System.OUt.println(data);
- A.0
- B.a
- C.f
- D.5
-
下列特征中不是面向对象方法的主要特征的是( )。
- A.多态性
- B.继承
- C.封装性
- D.模块化
-
下列方法中,不属于类Strin9的方法是( )。
- A.toLowerCase
- B.valueOf
- C.charAt
- D.append
-
对于下面语句的说法,不正确的是( )。Thread thrObj=new Thread:
- A.系统没有为该线程对象分配资源
- B.只能启动或者终止
- C.创建了一个空的线程对象
- D.可以调用其他方法
-
下列选项默认的布局管理器不是BorderLayout的是( )。
- A.Window
- B.Panel
- C.Frame
- D.Dialog
-
下列关于Java安全性的说法错误的是( )。
- A.有严格的访问权限检查
- B.对程序执行前要检查
- C.不允许使用指针
- D.可防止对内存的非法入侵
-
对一个由n个关键码组成的序列,借助排序过程选出其中最大的关键码,要求关键码比较次数和移动次数最少,则最佳排序方法是( )。
- A.归并排序
- B.直接插入排序
- C.直接选择排序
- D.快速排序
-
如果线程正处于运行状态,则它可能到达的下一个状态是( )
- A.只有终止状态
- B.只有阻塞状态和终止状态
- C.可运行状态、阻塞状态、终止状态
- D.其他所有状态
-
下列关于面向对象的论述中,正确的是( )。
- A.面由对象是指以对象为中心,分析、设计和实现应用程序的机制
- B.面向对象是指以功能为中心,分析、设计和实现应用程序的机制
- C.面向对象仅适用于程序设计阶段
- D.面向对象是一种程序设计语言
-
在Java语言中,ObjectOutputStream是指( )。
- A.字节流
- B.字符流
- C.对象输出流
- D.数据流
-
定义一个表示10个值为null的字符串数组,下面选项正确的是( )。
- A.String []a;
- B.String a[];
- C.char a[l0][];
- D.String a[]=new String[10];
-
char类型的取值范围是( )。
- A.2的-7次方~2的7次方减1
- B.O~2的16次方减1
- C.负2的15次方~2的15次方减1
- D.O~2的8次方减1
-
下面( )正确表示了int类型的聚会范围。
- A.-216~216-1
- B.-231~231-1
- C.-232~232-1
- D.-264~264-1
-
下列叙述中,正确的是( )。
- A.声明变量时必须指定一个类型
- B.Java认为变量number与Number相同
- C.Java中唯一的注释方式是“//”
- D.源文件中public类可以有0个或多个
-
下面程序段的输出结果为( )。
public class Test
{
int a,b;
Test
{
- a=100;
- b=200: } Test(int X,int y) {
- a=x:
- b=y; } public static void main(String args[]) { Test bjl=new Test(12,45); System.OUt.println("a="+Objl.a+"b="+Objl.
- b); Test Obj2=new Test; System.out.println("fl="+Obj2.a+"b="+Obj2.
- b); } }
- A.a=100 b=200 a=12 b=45
- B.a=12 b=45a=100 b=200
- C.a=12 b=200 a=100 b=45
- D.a=100 b=45 a=12 b=200
-
下列不属于逻辑运算符的是( )。
- A.!
- B.||
- C.&&
- D.|
-
下列描述中正确的是( )。
- A.软件工程只是解决软件项目的管理问题
- B.软件工程主要解决软件产品的生产率问题
- C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
- D.软件工程只是解决软件开发过程中的技术问题
-
Java语言中属于跳转语句的是( )
- A.try
- B.catch
- C.finally
- D.break
-
用下列4种排序方法,对一个已排好序(由小到大)的序列进行由小到大排序时,选择( )方法最好。
- A.冒泡排序
- B.直接选择排序
- C.直接插入排序
- D.归并排序
-
下列包中,包含JOptionPane类的是( )。
- A.javax.swing
- B.java.lang
- C.java.util
- D.java.applet
-
按照Java的标识符命名规则,下列表示一个类的标识符正确的是( )。
- A.Helloworld
- B.HelloWorld
- C.helloworld
- D.helloWorld
-
在编译Java程序时,用于指定生成.class文件位置的选项是( )。
- A.-9
- B.-d
- C.-verbose
- D.-nowarn
-
Java的核心包中,提供编程应用的基本类的包是( )。
- A.java.lang
- B.java.util
- C.java.applet
- D.java.rmi
-
为了将HelloApplet(主类名为HelloApplet.class)嵌入在greeting.html文件中,应该在下列greeting.html文件的横线处填人的代码是( )。
Greetings</TITLE> </HEAD>
>
</APPLET>
</BDY>
</HTML>
- A.(elloApplet.class
- B.CODE="(elloApplet.class"
- C.CODE="(elloApplet.class"WIDTH=150 HElGHT=25
- D.CoDE="(elloApplet.class”" VSPACE=10 HSPACE=10
-
算法的时间复杂度是指( )。
- A.算法的执行时间
- B.算法所处理的数据量
- C.算法程序中的语句或指令条数
- D.算法在执行过程中所需要的基本运算次数
-
设待排序关键码序列为(25,18,9,33,67,82,53,95,12,70),要按关键码值递增的顺序进行排序,采取以第一个关键码为分界元素的快速排序法,第一趟排序完成后关键码95被放到第( )个位置。
- A.7
- B.8
- C.9
- D.10
-
为了支持压栈线程与弹栈线程之间的交互与同步,在程序的下画线处依次填入的语句是( )。
public class IntStack{
private int idx=0;
private int[]data=new int[8];
public void push(int i){
data[idx]=i:
idx++;
… …
}
- A.synchronized notify
- B.synchronized this.wait
- C.synchronized this.notify
- D.Serializable sleep
-
下列描述中,不是线性表顺序存储结构特征的是
- A.不便于插入和删除
- B.需要连续的存储空间
- C.可随机访问
- D.需另外开辟空间来保存元素之间的关系
-
下列选项中,不能输出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); }
-
为了支持压栈线程与弹栈线程之间的交互与同步,应在下画线处填入的选项是( )。
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