2019年计算机二级JAVA考前预测基本操作题
- 格式:docx
- 大小:38.19 KB
- 文档页数:7
全国计算机等级考试《二级Java》模拟试题(含答案)(2)全国计算机等级考试《二级Java》模拟试题(含答案)25.下面for循环语句的执行结果是()。
for(intj=10;j>3;j--)if(j1=O)j--;--j;--j;System.OUt.println(j);}A.63B.74C.62D.7326.关于Applet执行的操作,下面说法正确的是()。
A.在运行时调用其他程序B.可以进行文件读/写操作C.不能装载动态连接库和调用任何本地方法D.试图打开一个socket进行网络通信,但是所连接的主机并不是提供Applet的主机27.下列关于Applet生命周期的说法,正确的是()。
A.voidinit()在Applet下载前调用B.voidstart()只在初始化之后调用C.voidstop()在关闭浏览器时调用D.stop()总在voiddestroy()之前被调用28.对于下面语句的说法,不正确的是()。
ThreadthrObj=newThread():A.系统没有为该线程对象分配资源B.只能启动或者终止C.创建了一个空的线程对象D.可以调用其他方法29.在Java中,线程是()。
A.分时的B.抢占式的C.非抢占式的D.非分时的30.下列关于线程和进程的说法正确的是()。
A.进程结构的所有成分都在用户空间内B.用户程序能够直接访问进程涉及的数据C.线程是内核级的实体D.线程结构驻留在用户空间中31.下列选项成员变量声明正确的是()。
A.publicprotectedfinalinti;B.abstractclassFl{…}C.privatedoubleheight;D.doubleweight()32.下面程序段的输出结果是()。
classTest{publics,taticvoidmain(Stringargs[]){ MyThreadt=newMyThread();t.displayOutput("thasbeencreateD"); t.start();}} ClassMyThreadextendsThread{ publicvoiddisplayOutput(Strings){ System.out.println(s);}publicvoidrun(){displayOutput("tisrunning.");}}A.thasbeencreated.B.thasbeencreated.tisrunning.C.tisrunning.D.编译出错33.执行下列程序时,会产生什么异常()。
2019年计算机二级JAVA考试模拟试题及答案四1). applet的运行过程要经历4个步骤,其中哪个不是运行步骤?A.浏览器加载指定URL中的HTML文件B.浏览器显示HTML文件C.浏览器加载HTML文件中指定的applet类D.浏览器中的Java运行环境运行该applet准确答案:B2). 二维数组A[O,…,8][0,…,9],其每个元素占2字节。
从首地址400开始,按行优先顺序存储,则元素A[8][5]的存储地址为( )。
A.570B.506C.410D.482准确答案:A答案解析:A[8][5]元素存储的位置在第9行第6列,所以A[8][5]之前存储的个数应为8×10+5 = 85,这些元素占用的空间为85×2字节=170字节,所以A[8][5]的存储位置为400+170= 570。
3). 用于生产过程控制的系统,一般都是( ),它要求有对输入数据即时做出响应的水平。
A.批处理系统B.分时系统C.实时系统D.即时系统准确答案:C答案解析:用于生产过程控制的系统,一般都是实时系统,它要求有对输入数据即时做出反应(响应)的水平。
因为环境和控制对象以及工作任务的不同,控制系统对计算机系统的要求也会不同,一般会对计算机系统的可靠性、封闭性、抗干扰性等指标提出要求。
4). Java语言的很多特点中,下列哪个特点是C++语言所不具备的?A.高性能B.跨平台C.面向对象D.有类库准确答案:B5). 在匹配器(Matcher)类中,用于寻找下一个模式匹配串的方法是( )。
A.static boolean matches()B.boolean matcher .fi nd()C.i nt matcher .start()D.i nt matcher .end()准确答案:A答案解析:本题考查考生对Java 中的匹配器(Matcher)类的理解。
Matcher 类用于将一个输入字符串i nput 和模式串pattern 相比较。
2019年计算机二级考试JAVA押密试题及答案4四、综合应用题(共18分)本题的功能是监听鼠标的拖曳操作。
窗口中有一个列表框,列表框中列出了当前目录的所有文件,鼠标选中一个或多个文件后拖曳出窗口,此操作的功能是将拖曳的文件复制一份在拖曳的目的目录下。
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,newDragGestureListener(){public void dragGestureRecognized( DragGestureEvent event){draggedValues=fileList.getSelectedValues();Transferable transferable=new FiteListTransferable(draggedValues);evenr.startDrag(null,transferable,new FileListDragSourceListener());。
计算机二级考试《JAVA》冲刺试题及答案(2)计算机二级考试《JAVA》冲刺试题及答案16.对鼠标单击按钮操作进行事件处理的接口是()。
A.MouseListenerB.WindowListenerC.ActionListenerD.KeyListener17.AWT中用来表示颜色的类是()。
A.FontB.ColorC.PanelD.Dialog18.下列运算符中,优先级最高的是()。
A.++B.十C.*D.>19.Java语言中属于跳转语句的是()A.tryB.catchC.finallyD.break20.阅读下列利用递归来求n!的程序。
classFactorialTest{staticlongFactorial(intn){//定义Factorial()方法if(n==1)returnl;elsereturnn*Factorial{};}publicstaticvoidmain{Stringa[]}{//main()方法intn=8:System.out.println{n+"!="+Factorial(n)};}}为保证程序正确运行,在下画线处应该填入的参数是()。
A.n-1B.n-2C.nD.n+121.阅读下列代码:publicclassPerson{staticintarr[]=newint[10];publicstaticvoidmain(Stringargs){System.out.println{arr[9]);}}该代码的运行结果是()。
A.编译时将产生错误B.编译时正确,运行时将产生错误C.输出零D.输出空22.在Java中,若要使用一个包中的类时,首先要求对该包进行导入,其关键字是()。
A.importB.packageC.include23.继承是面向对象编程的一个重要特征,它可降低程序的复杂性并使代码()。
A.可读性好B.可重用C.可跨包访问D.运行更安全24.阅读下列代码片段classInterestTest——ActionListener{public"voidactionPerformed(ActionEventevent){doubleinterest=balance*rate/100;balance+=interest;NumberFormatformat=NumberFormat.getCur-rencyInstance();System.OUt.print]b("balance="+formatter.format(balance));}Privatedoublerate;}在下画线处,应填的正确选项是()。
2019 年计算机二级考试Java 练习试题及答案(5)1[ 简答题] 本题中,在下画线上填写代码,指定变量 b 为字节型,变量f 为单精度实型,变量l 为64 位整型。
public class javal{public static void main(String[-]args){b=49;f=8.9f;l=0xfedl;System.out.println("b="+b);System.out.println("f="+f) :System.OUt.println("l="+1);}}参考解析:第1 处:byte第2 处:float第3 处:long【解析】本题考查的是数据类型。
byte 为字节型;float 为单精度实型;long 为长整型。
2[ 单选题] 请阅读下面程序程序运行结果中在”length= ”后输出的值是( ) 。
A.10B.4C.20D.30参考答案:B参考解析:本题对StringBuffer(String str) 构造方法,用str给出字符串的初始值,并分配16 个字符的缓存。
所以,字符串sb 的初始值是”test ”,并且包含l6 个字符的缓存。
length( )方法用来获得字符串长度,不包含缓存。
故程序运行结果中在”length - ”后输出的值应该是字符串sb 的长度,即4。
3[ 单选题] 为使下列代码正常运行,应该在下画线处填入的选项是( ) 。
ObjectInputStream In=new (new FilelnputStream("employee.doc"));Employee[]newstaff=(Employee[])in.readObject();In.close();A.ReaderB.InputStreamC.ObjectlnputD.ObjectlnputStream参考答案:D参考解析:ObjectlnputStream 类和ObjectOutputStream 类分列是InputStream 类和OutputStream 类的子类。
2019年计算机二级考试JAVA押密试题及答案5一、选择题(每小题1分,共40小题,共40分)1.算法的空间复杂度是指( )。
A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间2.用链表表示线性表的优点是( )。
A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作D.数据元素的物理顺序与逻辑顺序相同3.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为( )。
A.GEDHFBCAB.DGEBHFCAC.ABCDEFGHD.ACBFEDHG4.下列数据结构中,能用二分法实行查找的是( )。
A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表5.结构化程序设计的3种基本结构是( )。
A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移6.下列叙述中准确的是( )。
A.在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则D.在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法7.设计软件结构是在软件生命周期的( )。
A.软件定义期B.软件开发期C.软件维护期D.以上3个都不是8.数据库技术的根本目标是要解决数据的( )。
A.存储问题B.共享问题C.安全问题D.保护问题9.设计数据库的存储结构属于( )阶段。
A.需求分析B.概念设计C.逻辑设计D.物理设计10.相对于数据库系统,文件系统的主要缺陷有数据依赖、数据不一致性和( )。
A.可重用性差B.安全性差C.非持久性D.冗余性11.如果要求一个线性表既能较快地查找,又能适合动态变化的要求,则可采用的方法是( )。
A.分块法B.顺序法C.二分法D.散列法12.顺序存储结构的优点是( )。
国家二级(JA V A)机试模拟试卷90(题后含答案及解析)题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题基本操作题(30分)1.在程序中,用户使用JOptionPane输入一个二维数组的行数,程序随机生成每一行的列数,并对其赋值。
最后显示这个二维数组。
请填写横线处的内容。
注意:请勿修改main( )主方法和其他已有语句内容,仅在横线处填入适当语句。
import javax.swing.*; public class basic { public static void main(String[] args) {String sDimU=JOptionPane.showInputDialog(“请输入数组的行数”);int iDimU=______(sDimU);int [].[] numbers=new int[iDimU] [];for(int i=0; i<iDimU; i++){int k=(int) (Math.random( )*5+1); numbers[i]=______;}for(int i=0; i<iDimU; i++){ for(int j=0;______; j++) { numbers[i] [j]=(int) (Math.random( )*l00); System.out.print(numbers[i] [j]+”“); } System.out.println ( );}System.exit(O) } }正确答案:Integer.parseInt new int[k] j<number[i].length解析:本题考查知识点:基本数据类型包装类的使用,数组的使用。
解题思路:首先,JOptionPane显示了一个可以输入数据的对话框,用户通过该对话框输入对话框的行数。
第一个循环是对每一行分配存储空间,第二个循环是对已经分配好空间的二维数据进行赋值,并在赋值的过程中将数组显示出来。
2019 年计算机二级考试JAVA 押密试题及答案1一、选择题(每小题1分,共40 小题,共40分)1.常采用的两种存储结构是( ) 。
A. 顺序存储结构和链式存储结构B. 散列方法和索引方式C. 链表存储结构和数组D. 线性存储结构和非线性存储结构2.在深度为5的满二叉树中,叶子结点的个数为( ) 。
A. 32B. 31C. 16D. 153. 下列叙述中错误的是( ) 。
A. 线性表是由n个元素组成的一个有限序列B. 线性表是一种线性结构C. 线性表的所有结点有且仅有一个前件和后件D. 线性表能够是空表4. 数据库技术的根本目标是要解决数据的( ) 。
A. 存储问题B. 共享问题C. 安全问题D. 保护问题5.在设计程序时,应采纳的原则之一是( )A. 不限制goto语句的使用B. 减少或取消注解行C. 程序越短越好D. 程序结构应有助于读者理解6.结构化程序设计的核心和基础是( ) 。
A. 结构化分析方法B. 结构化设计方法C. 结构化设计理论D. 结构化编程方法7.对下列二叉树实行中序遍历的结果是( )A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG8.软件设计中模块划分应遵循的准则是( ) A. 低内聚低耦合B. 高内聚低耦合C. 低内聚高耦合D. 咼内聚咼耦合9.算法的有穷性是指( ) 。
A. 算法程序的运行时间是有限的B. 算法程序所处理的数据量是有限的C. 算法程序的长度是有限的D. 算法只能被有限的用户使用10.有3个关系R、S和T如下:由关系R和S通过运算得到关系T,则所用的运算为()。
A. 并B. 自然连接C. 笛卡儿积D. 交11 .破坏死锁的4 个必要条件之一就能够预防死锁。
假如规定一个进程在请求新资源之前首先释放已占有的资源则是破坏了( ) 条件A. 互斥使用B. 部分分配C. 不可剥夺D. 环路等待。
计算机二级JAVA临考模拟试题与答案选择题1).下面()是合法的标识符。
A.$PerSonSB.2UsersC.*pointD.this正确答案:A答案解析:本题考查JaVa标识符的命名,属于考试重点内容,应该掌握。
Java中标识符的命名规则是:标识符以字母、下画线或美元符作为首字符的字符串序列;标识符是区分大小写的;标识符的字符数没有限制。
由此可见,Java中标识符不能以数字开头,所以选项B错误;不能以“*”开头,选项C错误;this是专用标识符,具有专门的意义和用途,选项D错误,只有选项A正确。
2).设有一个已按各元素的值排好序的顺序表(长度大于2),现分别用顺序查找法和二分查找法查找与给定值k相等的元素,比较的次数分别是S和b,在查找不成功情况下S和b的关系是()。
A.s=bB.s>bC.sD.s>=b正确答案:B答案解析:顺序查找的基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描到结点的关键字和给定值k进行比较,若当前扫描到结点的关键字与k相等,则查找成功;若扫描结束后,仍未找到关键字等于k的结点,则查找失败。
二分查找法是一种效率较高的查找方法,要求线性表是有序表。
基本思想是:首先将待查的k值和有序表R[0]〜Rg-1]的中间位置Inid上的结点的关键字进行比较,若相等,则查找完成;否则,若R[mid].key>k,则说明待查找的结点只可能在左子表R[0]〜R[mid 中,我们只需在左子表中继续进行折半查找,若RDnid].key3).定义一个表示10个值为nu11的字符串数组,下面选项正确的是()。
A.String[]a;B.Stringa[];C.chara[10]□;D.Stringa[]=newStringE1O];正确答案:D答案解析:本题考查字符串数组变量的声明。
选项A和选项B的效果是一样的,都是用来定义一个字符串数组,但没有指明数组个数,不满足题目要求;选项C是一个二维的字符数组,在C语言中,一个二维的字符数组就可以表示一个一维的字符串数组,而在JaVa中,字符Char是基本类型,字符串String则是以对象的形式来表示的;选项D正确,它定义了一个含有10个元素的字符串数组,如果没有给字符串数组赋值,则默认为mi11。
计算机二级Java备考冲刺试题及答案计算机二级Java备考冲刺试题及答案计算机二级Java备考冲刺试题及答案1、以下不是Java中有效的关键字。
A、constB、NULLC、falseD、this本题考查的是Java的关键字。
Java中常量null,false,true,new,this,const,break都是小写。
故本题答案为B。
2、关于被私有访问控制符private修饰的成员变量,以下说法正确的是。
A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B、可以被两种类访问和引用:该类本身、该类的所有子类C、只能被该类自身所访问和修改D、只能被同一个包中的类访问本题考查的是成员变量的修饰符。
private修饰的变量说明变量为私有访问。
只能被该类自己访问或调用,是对成员变量的高级保护。
故本题答案为C。
3、当检索一个压缩文件时,首先要建立压缩文件输入流对象。
该对象。
A、以选中的压缩文件为参数B、以FileInputStream对象为参数C、以InputStreamReader对象为参数D、以BufferedReader对象为参数本题考查的是压缩文件。
在java.io包中提供了对压缩文件进行操作的能力。
它是通过压缩文件输入流与压缩文件输出流来实现的,其分别继承自InflaterInputStream与DeflaterOutputStream。
在创建压缩文件输入流时,其初始化参数是一个FileInputStream类的实例。
故本题答案为B。
4、计算机中的流是______ 。
A、流动的字节B、流动的对象C、流动的文件D、流动的数据缓冲区本题考查的是流的概念。
流,最早从C语言中引入的。
其可以看成是一个流动的数据缓冲区。
数据从数据源方向经过缓冲区流向数据的目的地。
在传送的过程中,其传送方式是串行的。
在Java中的java.io包中定义了Java中常见流的接口与类。
其中包括两个最基本的流的抽象类,它们分别是OutputStream与InputStream。
2019年计算机二级Java备考练习试题及答案(7)1、当浏览器重新返回到包含Applet的页面时调用的方法是______。
A、start()B、init()C、stop()D、destroy()本题考查的是Applet的生命周期。
当浏览器重新返回Applet所在页面时,Applet类的start()方法将被调用。
故本题答案为A。
2、Swing中的内部框架类是______。
标准答案为:JinternalFrame本题考的是Swing构件和容器。
内部框架JInternalFrame就如同一个窗口在另一个窗口内部,属于特殊容器中的一种,在GUI上起特殊作用的中间层。
故本题答案为JInternalFrame。
3、任何运行在Web页面中的小应用程序都必须是Java中______类的子类。
标准答案为:Applet 或 java.applet.Applet本题考的是小应用程序概念。
Applet(小应用程序)是Java与Web相结合而引入的一种重要的Java应用形式,任何嵌入在Web页面中或appletviewer中的Applet必须是Java中Applet类的子类。
故本题答案为Applet。
4、将E-R图转换为关系模式时,实体和联系都能够表示为______。
A、属性B、键C、关系D、域将E-R图转换为关系模式时,实体和联系都能够表示成关系,E-R图中属性也能够转换成关系的属性。
实体集也能够转换成关系。
故本题答案为C。
5、数据库应用系统中的核心问题是______。
A、数据库设计B、数据库系统设计C、数据库维护D、数据库管理员培训数据库应用系统是数据库系统再加上应用软件及应用界面这三者所组成,具体包括:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台、应用软件、应用界面。
在数据库应用系统中的一个核心问题就是设计一个能满足用户要求,性能良好的数据库,这就是数据库设计。
所以选项A是准确的。
故本题答案为A。
6、支持子程序调用的数据结构是______。
计算机二级JAVA考前的冲刺提分题计算机二级JAVA考试是许多计算机专业学生必须要参加的考试,对于想要在计算机行业有一番作为的学生来说,这项证书无疑是一种必不可少的资格认证。
而越是重要的考试,考生在备考阶段就要付出更多的努力,才能更有把握取得理想的成绩。
在这个过程中,对于一些弱势考生来说,冲刺提分是实现目标的重点。
因此,在今天的文档中,笔者将分享一些计算机二级JAVA考前的冲刺提分题目和解题技巧,希望对广大考生有所帮助。
一、JAVA基础题:1、以下哪个关键字可以用于防止类被继承?A. finalB. privateC. staticD. public答案:A解析:在JAVA中,如果一个类不希望被其他类所继承,可以使用final关键字修饰类,其修饰的类就成为最终类,不允许被其他类继承。
private关键字用于描述类的域或方法,设为private的变量或方法,只能在类的内部使用,而外部无法访问。
而static关键字用于描述类的域或方法,设为static的变量或方法,可以通过类名直接调用。
public关键字则用于描述类的可见性,设为public的类可以被其他包访问,也可以在当前包中访问。
2、下面哪条语句的执行结果是false?A. 2 != 3B. 2 > 3C. 2 <= 3D. 2 >= 3答案:B解析:题目要求我们找出一条语句的执行结果为false。
其中,!=代表不等于,>代表大于,<=代表小于等于,>=代表大于等于。
而题目中给出的四个选项中,只有B选项中的2 > 3的判断结果是false,因此B选项是答案。
3、以下代码片段的运行结果是什么?String str1 = "abc";String str2 = "def";String str3 = str1 + str2;System.out.println(str3);A. "abcdef"B. "abc def"C. "abcdef"D. 报错答案:A解析:题目给出的代码片段中,首先定义了两个字符串变量str1和str2,并分别初始化为"abc"和"def"。
国家二级(JA V A)机试模拟试卷50(题后含答案及解析)题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题基本操作题(30分)1.下面程序的功能是找出所有三位数中,个、十、百位数字的立方和等于该数本身的三位数并显示。
在程序的每条横线处填写一个适当的语句,使程序的功能完整。
public class LiFangHe{ public static void main(String args[]){ System.out.println(“个、十、百位数字的立方和等于该数本身的三位数有:”);for(int n=100;n<1000;n++){ int a,b,c;_______________ b=n/10%10;_______________ if(_______________) System.out.println(n); } } }正确答案:a=n/100;c=n%10;a*a*a+b*b*b+c*c*c==n解析:本题主要考查for循环语句的基本用法及条件运算符“==”的用法。
解答本题的关键是熟练掌握for循环语句的基本用法及条件运算符“==”的用法.在本题中,a=n/100;语句的功能是获取三位数字的百位上的数字并赋给变量a,c=n%10;语句的功能是获取三位数的个位上的数字并赋给变量b,a*a*a+b*b*b+c*c*c==n语句的功能是判断三位数的每个位置上的立方和是否等于这个三位数。
简单应用题(40分)2.请完成下列Java程序:用一个边框布局来安排一个工具栏和一个卡片布局。
工具栏可浮动,包括两个按钮,一个向前一个向后控制卡片的显示;卡片布局包括3张卡片,分别标识为card1、card2、card3。
注意;请勿改动main( )主方法和其他已有语句内容,仅在下划线处填入适当的语句。
源程序代码文件清单如下:import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.LineBorder;public class ex20_2 { private static CardLayout cl=new CardLayout( );private static JPanel cp=new JPanel( );public static void main(String args[]) {JFrame jf=new JFrame( );jf.setTitle(“ex20_2”);Container c=jf.getContentPane( );JToolBar jtb=new JToolBar( );JButton btnNext=new JButton(new Imagelcon(“next.gif”));JButton btnPre=new JButton(new ImageIcon(“back.gif”));jtb.add(btnPre);jtb.add(btnNext);cp.setLayout(c1);Dimension dim=new Dimension(150,80);cp.setPreferredSize(dim);cp.setBorder(new LineBorder(Color.BLACK));cp.add(new JLabel(“card1”,JLabel.CENTER),”card1”);cp.add(new JLabel(“card2”,JLabel.CENTER),”card2”);cp.add(new JLabel(“card3”,JLabel.CENTER),”card3”);c.add(jtb,BorderLayout.NORTH);c.add(cp,BorderLayout.CENTER);ActionListener al=new ActionResponse( );______;______;if.addWindowListener(new WindowAdapter( ){ public voidwindowClosing(WindowEvent we) { System.exit(0);}});jf.pack( );jf.setVisible(true);} static class ActionResponse implements ActionListener {public void actionPerformed(ActionEvent ae){ if(ae.getActionCommand( ).equals(“next”)) c1.next(cp);else c1.previous(cp);} } }正确答案:btnNext.addActionListener(al)btnPre.addActionListener(al)解析:本题主要考查工具栏和卡片布局的基本使用方法。
2019年计算机二级JAVA考前预测基本操作题二、基本操作题(共18分)
本题统计score[]={37,89,63,60,59,78,91)中成绩不及格的人数。
public class javal{
public static void main(String[]args){
int score[]={37,89,63,60,59,78,91),
int sum=0:
int i=0;
while(i if(score[i]>=60){
;
;
}
;
i++;
}
System.OUt.println("below 60 sum:"+sum);
}
}
三、简单应用题(共24分)
本题中,在窗口右侧添加了一个菜单,右侧为一个文本域,菜单
有“File”和“Help”,“File”菜单中有菜单项“New”、“Open”、“Save”、“Save as”和“Exit”,其中“Open”的快捷键为,“Save”的快捷键为,而“Help”菜单以及其中的菜单项“Index”和“About”设定了第一个字母为其快捷字母,通过鼠标单击任一个菜单
项或通过快捷键以及快捷字母,都能在后台输入所选择的菜单项。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax swing.event.*;
public class java2 extends JFrame
{
private J Menuhem savehem;
private JMenuhem saveAsltem
private JPopupMenu popup;
private JTextArea textArea;
public java2()
{setTitle("java2");
setSize(400,300);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
textArea=new JTextArea(0,0);
Container contentPane=getContentPane(); contentPane.add(new JSerollPane(textArea). "Center");
JMenuBar menuBar=new JMenuBar();
menuBar.setLayout(new BoxLayout(menuBar. BoxLayout.Y_AXIS));
getContentPane().add(menuBar, BorderLayout. WEST):
HorizontalMenu fileMenu=new HorizontalMenu ("File");
fileMenu.addMenuListener(this);
JMenuhem openhem = new JMenultem ("Open");
openItem.setAceelerator(KeyStroke.getKeyStroke (KeyEvent.VK_O,InputEvent.CTRL_MASK)); saveltem=new JMenuhem("Save");
savehem.setAccelerator(KeyStroke.getKeyStroke (KeyEvent.VK_S,InputEvent.CTRL_MASK)); saveAshem=new JMenuhem("Save As");
menuBar.add(makeMenu(fileMenu,
new Object[]{
"New",Openhem,null,savehem,saveAshem. null."Exit"
},this));
HorizontalMenu helpMenu=new Horizontal-
Menu("Help");
helpMenu. (’H’);
menuBar.add(Box.createVerticalGlue()); menuBar.add(makeMenu(helpMenu,
new Object[]
{new JMenuhem("Index",’I’),
new JMenuhem("About",’A’)
},this));
}
public void actionPerformed(ActionEvent evt){ String arg=evt.getActionCommand();
System.out.println(arg);
if(arg.equals("Exit"))
System.exit(0);
}
pubile void menuSelected(MenuEvent evt){
}
public void menuDeselected(MenuEvent evt){
}
public void menuCanceled(MenuEvent evt){
}
public HorizontalMenu makeMenu(Object parent,Object[]items,Object target)
{
HorizontalMenu m=null:
if(parent instanceoI HorizontalMenu)
m=(HorizontalMenu)parent;
else if(parent instaneeof String)
m=new HorizontalMenu((String)parrent);
else
return null;
m.setMinimumSize(m.getPreferredSize());
for(int i=0;i if(items[i]= =null)
m.addSeparator();
else
m.add(makeMenultem(items[i],target));
}
return m;
}
public static JMenuhem makeMenuItem(Object i-tem,Object target)
{
JMenuItem r=null:
if(item instanceof String)
r=new JMenultem((String)item);
else if(item instanceof JMenuhem)
r=(JMenultem)item;
else return null;
if(target instanceof ActionListener)
r.addActionListener((ActionListener)target); return r;
}
class HorizontalMenu extends J Menu{ HorizontalMenu(String label){
super(label);
JPopupMenu pm=getPopupMenu();
pm.setLayout(new BoxLayout(pm,BoxLayout.X
_AXIS));
setMinimumSize(getPreferredSize());
}
}
public static void main(String[] args){ Frame f=newjava2();
f.show();
}
}。