2014年全国计算机等级考试二级JAVA上机模拟试卷(7)
-
本题的功能是获得系统剪贴板中的内容。窗口中有一个菜单“Edit”和一个文本域,“Edit”中有菜单项“Cut”、“Copy”和“Paste”,在文本域中输入内容,可以通过菜单进行剪切、复制和粘贴操作,如果系统剪贴板为空,又做粘贴操作的话,则设置文本域中背景颜色为红色,并显示错误信息。
import Java.awt.*;
importjava.io.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
class java3 extends Frame. implements ActionListener,
ClipboardOwner{
TextArea textArea=new TextArea;
java3{
super("java3");
addWindowListener(new WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
MenuBar mb=new MenuBar;
Menu m=new Menu("Edit");
setLayout(new BorderLayout);
add("Center",textArea);
m.add("Cut");
m.add("Copy");
m.add("Paste");
mb.add(m);
setMenuBar(this);
for(int i=0;i
m.itern(i).addActionListener(this);
}
setSize(300,300);
show;
}
public void actionPerformed(ActionEvent evt){
if("Paste".equals(evt.getActionCommand)){
boolean error=true;
Transferable t=
getToolkit.getSystemClipboard.getContents
(this);
try{
if(t! =nullt.isDataFlavorSupported(Dat-
aFlavor.stringFlavor)){
textArea.setBackground(Color.white);
textArea.setForeground(Color.black);
textArea.replaceRange(
(String)t.getTransferData(DataFlavor.stringFla-
vor),
textArea.getSelectionStart,
textArea.getSelectionEnd);
error=false;
}
}catch(UnsupportedFlavorException e){
}catch(IOException e){
}
if(error){
textArea.setBackground(Color.red);
textArea.setForeground(Color.white);
textArea.repaint;
textArea.setText("ERROR:\nEither the clip-
board"+"is empty or the contents is not fl string.");
}
}else if("Copy".equals(evt.getActionCommand
)) {
setContents;
}else if("Cut".equals(evt.getActionCommand
)){
setContents;
textArea.replaceRange("",textArea.getSelec-
tionStart,textArea.getSelectionEnd);
}
}
void setContents{
S=textArea.getSelectedText;
St ringSelection contents = new StringSelection
(s);
getToolkit.getSystemClipboard.setContents
(contents,this);
}
public void lostOwnership(Clipboard clipboard,
Transferable contents){
System.out.println("lost ownership");
}
public static void main(String args[]){
new java3;
}
}
-
本题随机产生若干字母(A~Z间),直到出现字母Q停止。
public ClaSS javal{
public static void main(String[]args){
;
do{
c=(char)( );
System.out.print(c+",");
}while( );
}
}
-
本题是一个Applet,页面中有两个文本域,当左侧文本域中的文本发生变化时,该文本域中的文本以行为单位按长度由短到长排列在右边的文本域中。
import java.util.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
Dublic class java2 extends Applet implements TextLis-
tener
{TextArea textl,text2;
public void init
{textl=new TextArea(6,15);
text9=new TextArea(6,15);
add(textl);add(text2);
text2.setEditable(false);
;
}
public void
{if(e.getSource= =textl)
{String s=textl.getText;
StringTokenizer fenxi=new StringTokenizer(s,"
,\n");
int n=fenxi.countTokens;
String a[]=new String[n];
for(int i=0;i<=n-1;i++)
{String temp=fenxi.nextToken;
a[i]=temp;
}
for(int i=0:i<=n-1;i++)
{for(int j=i+1;j<=n-1;j++)
{if(a[j].compareTo(a[i])<0)
{String t=a[j];a[j]=a[i];a[i]=t;
}
}
}
text2.setText(null);
for(int i=0;i
{text2.append(a[i]+"\n");
}
}
}
}
-
sum的值为0,则result=sum = =o?1:num/sum的值为( )。
- A.0
- B.1
- C.Ol
- D.无法输出
-
下列叙述中正确的是( )。
- A.在面向对象的程序设计中,各个对象之间具有密切的关系
- B.在面向对象的程序设计中,各个对象都是公用的
- C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小
- D.上述3种说法都不对
-
关于下列代码编译或执行结果的描述中,正确的是( )。
public class Test{
public static void main(String argsE]){
TcstThread pml=new TestThread("One")
pml.start;
TestThread pm2=new TestThread("Tw0")
pm2.start;
}
}
class TestThread extends Thread(
private String sTname="";
TestThread(String s){
sTname=s;
}
public void run{
for(int i=O;i<2;i++){
try{
sleep(1000);
}catch(InterruptedException e){}
system.out.print(sTname+"");
}
}
}
- A.不能通过编译,TestThread类中不能定义变量和构造方法
- B.输出One One Two Two
- C.输出Two One One Two
- D.选项B或C都有可能出现
-
阅读下列程序:
Public class Test implements Runnable{
Private int x=0l
Private int y=0;
boolean flag=true;
Public static void main(string[]args){
Test r=new Test;
Thead tl=new Thead(r);
Thead t2=new Thead(r);
tl.start;
t2.start;
}
Public void run{
While(flag){
x++;
y++;
system.out.println("("+x-","+y+")");
if(x>=10)
flag=false;
}
}
}
下列对程序运行结果描述的选项中,正确的是( )。
- A.每行的(x,y)中,可能有x≠y;每一对(x,y)值都出现两次
- B.每行的(x,y)中,可能有x≠y;每一对(x,y)值仅出现 一次
- C.每行的(x,y)中,可能有x=y;每一对(x,y)值都出现两次
- D.每行的(x,y)中,可能有x=y;每一对(x,y)值都出现
-
下列横线处应填写的语句是( )。
import JaVa.awt.*;
public class FirstFrame. extends Frame{
public static void main(String args[]){
FirstFrame. fr=new FirstFrame("First container!");
fr.setsize(240,240);
fr.setBackground(Color.yellow);
}
public FirstFrame(String str){
super(str);
}
}
- A.fr.setVisible(true)
- B.fr.setVisible(false)
- C.fr.setFrame(true)
- D.fr.setmyFrame(true)
-
结构化程序所要求的基本结构不包括( )。
- A.顺序结构
- B.GOT跳转
- C.选择(分支)结构
- D.重复(循环)结构
-
下面描述中,不属于软件危机表现的是( )。
- A.软件过程不规范
- B.软件开发生产率低
- C.软件质量难以控制
- D.软件成本不断提高
-
下列关于Applet生命周期的说法,正确的是( )。
- A.voidinit在Applet下载前调用
- B.voidstart只在初始化之后调用
- C.voidstop在关闭浏览器时调用
- D.stop总在voiddestroy之前被调用
-
在读字符文件Employee.dat时,使用该文件作为参数的类是( )。
- A.BufferedReader
- B.DatalnputStream
- C.DataOutputStream
- D.FileInputStream
-
为了支持压栈线程与弹栈线程之间的交互与同步,在程序的下画线处依次填入的语句是( )。
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.2
- B.5.2
- C.0.2f
- D.023
-
在对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( )。
- A.调用语句
- B.命令
- C.H令
- D.消息
-
数据库技术的根本目标是要解决数据的( )。
- A.存储问题
- B.共享问题
- C.安全问题
- D.保护问题
-
对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。
- A.125
- B.n/2
- C.n
- D.n+l
-
用于输入压缩文件格式的ZiplnputStream类所属包是( )。
- A.java.util
- B.java.io
- C.java.nio
- D.java.util.zip
-
在设计程序时,应采纳的原则之一是( )。
- A.不限制goto语句的使用
- B.减少或取消注解行
- C.程序越短越好
- D.程序结构应有助于读者理解
-
对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为( )。
- A.并运算
- B.交运算
- C.差运算
- D.积运算
-
如果有一个类MyFrame是Frame的子类,但它不能被实例化,请写出该类的声明头为( )。
- A.abstract class Frame. extends MyFrame
- B.abstract class MyFrame. extends Frame
- C.class MyFrame. abstract extends Frame
- D.class Frame. abstract extends MyFrame.
-
下列叙述中正确的是( )。
- A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
- B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
- C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
- D.上述三种说法都不对
-
有下列二叉树,对此二叉树前序遍历的结果为( )。
- A.XZCYAB
- B.XYZABC
- C.XYABCZ
- D.XYAZBC
-
下列叙述中正确的是( )。
- A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
- B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
- C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
- D.上述三种说法都不对
-
顺序存储结构的优点是( )。
- A.删除运算方便
- B.存储空间利用率高
- C.插入运算方便
- D.可以方便地运用到各种逻辑结构的存储表中
-
执行下列赋值语句后,a的值为( )。 a=Float.valueOf("12.34").floatValue;
- A.12
- B.34
- C.0.34
- D.12.34
-
在一所大学中,每个系都有自己的局域网,则连接各个系的校园网( )。
- A.是广域网
- B.还是局域网
- C.是地区网
- D.这些局域网不能互连
-
在Java中,所有类的根类是( )。
- A.java.lang.Object
- B.java.lang.Class
- C.java.applet.Applet
- D.java.awt.Frame.
-
破坏死锁的4个必要条件之一就可以预防死锁。假如规定一个进程在请求新资源之前首先释放已占有的资源,则是破坏了哪个条件?( )
- A.互斥使用
- B.部分分配
- C.不可剥夺
- D.环路等待
-
下列关于链式存储结构的叙述中,不正确的是( )。
- A.结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构
- B.逻辑上相邻的结点物理上不必相邻
- C.可以通过计算确定第i个结点的存储地址
- D.插入、删除运算操作方便,不必移动结点
-
模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( )。
- A.抽象和信息隐蔽
- B.局部化和封装化
- C.内聚性和耦合性
- D.激活机制和控制方法
-
栈S最多能容纳4个元素,现有6个元素按A、B、C、D、E、F的顺序进栈,下列( )序列不是可能的出栈序列。
- A.C、B、E、D、A、F
- B.C、D、B、F、E、A
- C.A、D、E、C、B、F
- D.A、F、E、D、C、B
-
向Applet传递参数的正确描述是( )。
- A.
B.
- C.
- D.
- A.
-
下列叙述中,错误的是( )。
- A.File类能够存储文件
- B.File类能够读写文件
- C.File类能够建立文件
- D.File类能够获取文件目录信息
-
有下列二叉树,对此二叉树中序遍历的结果为( )。
- A.ABCEDF
- B.ABCDEF
- C.ECBDFA
- D.ECFDBA
-
阅读下面程序
importjava.io.*;
public class TypeTransition{
public static void main(String args[]){
char a=h;
int i=100 ;
int J=97;
int aa=a+i;
System.out.println("aa="+aa);
char bb=(char)j;
System.out.println("bb="+bb):
}
}
如果输出结果的第二行为bb=a,那么第一行的输出结果是( )。
- A.aa=I
- B.aa=204
- C.aa=v
- D.aa=156
-
下面程序的正确输出是( )。
public class Hello
{
public static void main(String args[])
{
int count,xPos=25;
for(count=1;count<=10;count++)
{
if(count= =5)
Break;
system.Out.println(count);
xPos+=10:
}
}
}
- A.1 2 3 4
- B.1 3 4
- C.编译错误
- D.以上都不正确
-
Java语言中。负责并发管理的机制是( )。
- A.垃圾回收
- B.虚拟机
- C.代码安全
- D.多线程
-
下面程序段的输出结果是( )。
public class Test(
public static void main(String args[]){
int[]a=new int[113;
int[]p=new int[43;
int k=5:
for(int i=1;i<=10;i++)
- a[i]=i;
- for(int i=1;i<=3;i++) p[i]=a[i*i];
- for(int i=1;i<=3;i++) k=k+p[i]*2; System.out.println(k); } }
- A.37
- B.31
- C.33
- D.35
-
下列代表十六进制整数的是( )。
- A.0XA6
- B.1234L
- C.-840
- D.0144
-
软件生命周期是指( )。
- A.软件产品从提出、实现、使用维护到停止使用退役的过程
- B.软件从需求分析、设计、实现到测试完成的过程
- C.软件的开发过程
- D.软件的运行维护过程
-
在电子邮件程序向邮件服务器中发送邮件时,使用的是简单邮件传输协议,下列( )是简单邮件传输协议。
- A.POP3
- B.IMAP
- C.HTTP
- D.SMTP
-
下列运算结果为l的是( )。
- A.8>>1
- B.4>>>2
- C.8<<1
- D.4<<<2