国家二级(JAVA)机试模拟试卷8(共67题)_第1页
国家二级(JAVA)机试模拟试卷8(共67题)_第2页
国家二级(JAVA)机试模拟试卷8(共67题)_第3页
国家二级(JAVA)机试模拟试卷8(共67题)_第4页
国家二级(JAVA)机试模拟试卷8(共67题)_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家二级(JAVA)机试模拟试卷8(共9套)(共67题)国家二级(JAVA)机试模拟试卷第1套一、选择题(本题共40题,每题1.0分,共40分。)1、算法的空间复杂度是指()。A、算法程序的长度B、算法程序中的指令条数C、算法程序所占的存储空间D、算法执行过程中所需要的存储空间标准答案:D知识点解析:算法的空间问题态度,是指执行这个算法所需的存储空间。算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占用的存储空间及算法执行过程中所需要的额外空间。2、用链表表示线性表的优点是()。A、便于随机存取B、花费的存储空间较顺序存储少C、便于插入和删除操作D、数据元素的物理顺序与逻辑顺序相同标准答案:C知识点解析:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。”关系”描述的是数据元素之间的逻辑关系,因此又称数据的逻辑结构。数据的存储结构是指数据结构(数据的逻辑结构)在计算机中的表示.又称物理结构。数据的存储结构有顺序存储结构和链式存储结构两种。不同存储结构的数据处理效率不同。由于链表采用链武存储结构。元素的物理顺序并不连续.对于插入和删除无需移动元素.很方便。当查找元素时就需要逐个元素查找.因此查找的时间相对更长。3、已知一棵二叉树前序遍历和中序遍历分别为ABDE—GCFH和DBGEACHF,则该二叉树的后序遍历为()。A、GEDHFBCAB、DGEBHFCAC、ABCDEFGHD、ACBFEDHG标准答案:B知识点解析:二叉树的遍历有3种:前序、中序和后序。后序遍历首先遍历左子树或左子结点.然后遍历右子树或右子结点.最后访问根结点;中序遍历首先遍历左子树或左子结点,然后访问根结点.最后遍历右子树或右子结点l后序遍历首先访问根结点,然后遍历左子树或左子结点,最后遍历右子树或右子结点。本题根据前序遍历和中序遍历的结果可以得出二叉树的结构,然后再对其进行后序遍历。因此答案为选项B。4、下列数据结构中,能用二分法进行查找的是()。A、顺序存储的有序线性表B、线性链表C、二叉链表D、有序线性链表标准答案:A知识点解析:二分法查找只适用于顺序存储的有序线性表.对于顺序存储的非有序线性表和线性链表.都只能采用顺序查找。5、结构化程序设计的3种基本结构是()。A、过程、子程序和分程序B、顺序、选择和重复C、递归、堆栈和队列D、调用、返回和转移标准答案:B知识点解析:程序的三种基本控制结构包括t顺序、选择和重复(循环),这三种结构就足以表达出各种其他形武的结构。6、下列叙述中正确的是()。A、在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息B、在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节C、在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则D、在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法标准答案:C知识点解析:在模块化程序设计中,模块之间的联系可以通过程序的控制结构来实现。在自顶向下、逐步细化的设计过程中,首先要考虑全局目标,而不是细节。在程序设计中模块化和结构化可以同时使用.一个模块的内部结构也要符合结构化设计原则。7、设计软件结构是在软件生命周期的()。A、软件定义期B、软件开发期C、软件维护期D、以上3个都不是标准答案:B知识点解析:设计软件结构,是在软件概要设计阶段进行的,而概要设计属于软件开发期。8、数据库技术的根本目标是要解决数据的()。A、存储问题B、共享问题C、安全问题D、保护问题标准答案:B知识点解析:在数据库系统中。需要对数据进行集中、统一的管理,以达到被多个应用程序共享的目标。9、设计数据库的存储结构属于()阶段。A、需求分析B、概念设计C、逻辑设计D、物理设计标准答案:D知识点解析:物理设计阶段主要解决选择文件存储结构和确定文件存取的方法的问题,包括:选择存储结构、确定存取方法、选择存取路径、确定数据的存放位置。10、相对于数据库系统,文件系统的主要缺陷有数据依赖、数据不一致性和()。A、可重用性差B、安全性差C、非持久性D、冗余性标准答案:D知识点解析:文件系统所管理的数据文件基本上是分散、相互独立的。因此相对于数据库系统.以此为基础的数据处理存在3个缺点:数据冗余大、数据的不一致性、程序与数据的相互依赖(简称为数据依赖)。11、如果要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用的方法是()。A、分块法B、顺序法C、二分法D、散列法标准答案:A知识点解析:分块查找是将表分成若干块.分块的原则是数据元素的关键字在块与块之间是有序的.而块内元素的关键字是无序的。分块法可以适应动态变化的要求。其他三种是在顺序存储的一组记录内进行查找的。12、顺序存储结构的优点是()。A、删除运算方便B、存储空间利用率高C、捅入运算方便D、可以方便地运用到各种逻辑结构的存储表中标准答案:B知识点解析:顺序结构逻辑上相邻的结点物理上也是相邻的。因此.其存储密度大.存储空间利用率高,但插入、删除运算操作不方便。需移动大量的结点。13、用下列4种排序方法,对一个已排好序(由小到大)的序列进行由小到大排序时,选择()方法最好。A、冒泡排序B、直接选择排序C、直接插入排序D、归并排序标准答案:C知识点解析:直接插入排序的基本算法是:当插入第i(i>=1)个对象时,前面的V[0],V[1].….V[i—1]已经排好序,这时.用V[i]的关键码与V[i一1],[i一2]…的关键码顺序进行比较,找到插入位置即将V[i]插入,原来位置上的对象则向后移。由此可知.直接插入排序法的关键码比较次数与对象的初始排列有关。在本题中,序列已经排好序,所以其i的取值达到了最大。也就是序列中元素的个数。其实根本无需比较和交换,所以这种方法是最佳的。14、按层次次序将一棵有n个结点的完全二叉树的所有结点从1~n编号,当i≤n/2时,编号为i的结点的左子树的编号是()。A、2i-1B、2iC、2i+1D、不确定标准答案:B知识点解析:完全二叉树中除最下面一层外,备层都被结点充满了,每一层结点个数恰是上一层结点个数的2倍。因此,从一个结点的编号就可推知它的双亲及左、右子树结点的编号。当i≤n/2时,编号为i的结点的左子树的编号是2i,否则结点i没有左子树。当i≤(n一1)/2时,编号为i的结点的右子树的编号是2i+l,否则结点i没有右子树。当i≠1时,编号为i的结点的双亲是结点i/2。15、对于给出的一组权w={10,12.16,21。30).通过霍夫曼算法求出的扩充二叉树的带权外部路径长度为()。A、89B、189C、200D、300标准答案:C知识点解析:其带权外部路径长度为;2×16+2×2l+2×30+3×10+3×12=200。16、JDK中,用()命令对其源文件进行编译,生成字节码文件。A、jflva.exeB、javaC、exe.C.javado.c.exeD、javap.exe标准答案:B知识点解析:本题考查JDK实用工具的使用。选项A错误,java.exe是Java语言解释器,直接从类文件执行Java应用程序字节代码,可接受elass文件并启动Java虚拟机执行;选项B正确,javae.exe是.Java语言编译器,将Java源代码转换成字节码;选项C错误,javadoe.exe是根据Java源代码及说明语句生成HTML,文档;选项D错误.javap.exe是反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。17、以下叙述中不属于Java语言特点的是()。A、面向对象B、可移植性C、多线程D、宏定义标准答案:D知识点解析:本题考查Java语言的基本特点。选项A正确.Java最大的特点之一是跨平台、面向对象;选项B正确,解释同A}选项C正确,多线程是Java的一个主要特性,它使可执行程序具有同时保持几个线程执行的能力;选项D错误,Java不支持宏定义。18、在Java语言中,封闭是借助于()实现的。A、对象B、类C、数组D、成员标准答案:B知识点解析:Java是一个完全面向对象的语言。利用类把对象的属性和方法封装在一起,只对外界提供有限的接口。19、Java对文件类提供了许多操作方法.能获得文件对象父路径名的方法是()。A、getAbsolutePath()B、getParentFile()C、getAbsoluteFile()D、getName()标准答案:B知识点解析:本题考查File类的基本知识。File类是通过文件名列表来描述一个文件对象的属性,通过File类提供的方法。可以获得文件的名称、长度、所有路径等信息,还可以改变文件的名称、删除文件等。20、下列各项中属于合法标识符的是()。A、myid/2B、一bvoidC、一5D、vacl标准答案:D知识点解析:Java语言的标识符是以字母、下画线和符号$为首字符的字符串。首字符后面可以跟字母、下画线、$和数字,且标识符是区分大小写的.标识符的字符数没有限制。A选项中含有非法符号”/”,故是错误的:B选项是以符号”+”开始的字符串也不符合规则;同理,C选项也是错误的。21、下列各选项中属于Java保留字的是()。A、TRUEB、NULLC、假D、null标准答案:D知识点解析:在Java中.常量null、false、true都是小写的。所以A、B和C选项中的字符串都不是Java的保留字。22、下列各项中代表八进制整数的是()。A、0XA6B、144C、1840D、一1E3标准答案:B知识点解析:Java语言中八进制整数为整型常量中的一种,以0开始,后加数字0~7组成。故只有B选项0144符合要求。23、下列代码的执行结果是()。publicclassTest{publicstaticvoidmain(Stringargs[]){System.out.println(5/2);System.out.println(100%3.0)}}A、2和1B、2和1.0C、2.5和1D、2.5和1.0标准答案:B知识点解析:由于5和2都是int型,所以语句Sys—tern.oul.println(5/2)的输出为2。由于操作数3.0为douh—le型(Java语盲中浮点数的默认值为double型),所以结果为double型,即1.0。24、char类型被封装在()中。A、java.1ang.IntegerB、java.1ang.CharC、java.1ang.BooleanD、java.1ang.Character标准答案:D知识点解析:Java语言中,char类型被封装在java.1ang.Character中。25、下面代码段的输出是()。if(58L7)0&&5|2)system.out.println(“true”);A、编译出错B、5752C、真D、无任何输出标准答案:A知识点解析:本题考查对位运算符和逻辑运算符的理解。位运算符”&”和"|"用于按位将两个数进行与和或的操作,两个操作数可以是整型、字节型、长整型和短整型,但不能是浮点型数据。逻辑运算符&&只能对两个布尔型的数据进行运算。返回的结果也是布尔型的。26、下列关于内部类的说法。正确的是()。A、内部类可以与它包含的类名相同B、内部类只能使用它所在类的静态成员变量,不能使用它所在类的方法中的局部变量C、内部类可以用abstract修饰定义为抽象类。不能用private或protected定义D、外部使用内部类时必须给出类的全名标准答案:D知识点解析:本题考查内部类的概念。在一个类的内部嵌套定义的类称为内部类。它的类名在定义它的类或程序段中或在表达武内部可以匿名使用,外部使用它时必须给出类的全名.所以选项D说法正确;内部类的类名不允许与它包含的类名相同,选项A说法错误I内部类可以使用它所在类的静态成员变量和实例成员变量,也可以使用它所在类的方法中的局部变量,选项B说法错误l内部类不仅可以用abstract修饰定义为抽象类,也可用private或protec—ted定义.选项c说法错误。同时还要注意,内部类可作为其他类的成员,而且可访问它所在类的成员,除static内部类外,不能在类中声明static成员。27、定义一个表示10个值为null的字符串数组,下面选项正确的是()。A、String[]a;B、Stringa[];C、chara[10][];D、Stringa[]=newString[10];标准答案:D知识点解析:本题考查字符串数组变量的声明。选项A和选项B的效果是一样的,都是用来定义一个字符串数组,但没有指明数组个数。不满足题目要求;选项C是一个二维的字符数组,在C语言中,一个二维的字符数组就可以表示一个一维的字符串数组,而在.1ava中,字符char是基本类型.字符串string则是以对象的形式来表示的;选项D正确,它定义了一个含有10个元素的字符串数组,如果没有给字符串教组赋值,则默认为null。28、有一个接口定义如下,下列选项中实现了该接口并且不是抽象的是()。interfaceA{intmethodl(inti);intmethod2(intj);}A、classBimplementsAB、classB{{intmethodl(){)intmethodl(inti){)intmethod2()()intmethod2(intj){)}}C、classBimplementsAD、classBextendsA{{intmethodl(inti){)intmethodl(inti){)intmethod2(intj){)intmethod2(intj){))}标准答案:C知识点解析:本题考查在Java中接口的实现。接口是一种只含有抽象方法或变量的特殊的抽象类。在类的声明中用implements子句来表示一个类使用某个接口。选项A在方法内没有参数值;选项B只是定义了一个类.并没有实现与A的接口;选项C中使用关键字implements实现了该接口,这里接口中的方法并没有使用abstract修饰,所以不是抽象的;选项D中extends是用来继承父类的,而A并不是一个类,不能用extends。29、下面程序段的输出结果是()。classBase{inti;Base(){add(1);}voidadd(intv){i+=V;}voidprint(){System.out.println(i);}}classExtensionextendsBase{Extension(){add(2);}voidadd(intv){i+=v*2l}}publicclassTest{publicstaticvoidmain(Stringargs[]){bogo(newExtension());}staticvoidbogo(Baseb){b.add(8);b.print();}}A、9B、18C、20D、22标准答案:D知识点解析:本题考查继承和构造函数的用法。首先要明确对一个类的继承是指在父类的基础上构建了一个子类,子类继承了父类的方法和状态。题目所给程序段创建的是Extension类的实例,在运行时,从main()函数进入程序.所有调用add()方法的过程将始终和Extension类的add()方法动态绑定。初始值:i=0;创建实例newExtension();先调用父类的默认构造函数.Base(),并在父类的默认构造函数中执行add(1)。i=0+1×2,所以i=2,再调用子类的默认构造函数Extension(),子类的默认构造函数中执行add(2),i=2+2×2,所以i=6;执行add(8);i=6+8×2.因此,最终i=22,正确答案为选项D。30、通常我们使用()方法来为一个部件注册事件监听器。A、add×××ListenerB、×××ListenerC、Listener×××D、×××Listeneradd标准答案:A知识点解析:本题考查事件监听器的概念。每类事件都有对应的事件监听器,监听器是接口。根据动作来定义方法。AWT的构件类中提供注册和注销监听器的方法。注册监听器:publicvoidadd<;istenerType>(listener。)l注销监听器:publicvoidremove(listener)。由此可见,选项A正确。31、下列的()原始类型在使用流时可以互换。A、byte和booleanB、char和intC、byte和charD、String和char标准答案:B知识点解析:本题考查Java语言中字节类型的概念。在Java语言中.byte是字节类型,用1字节表示;boolean是布尔类型,用true和false表示,它们的表示方法并不一样。也不提供它们之间的转换,选项A错误。Java内部用整数来表示char,通常可以在方法调用和其他语句中互换使用char-和int,选项B正确。char。用2字节表示,byte字节类型用1字节表示,Java内部也不允许互换使用它们,选项C错误。String在Java语言中是一个类,它提供对字符串的一系列操作,而char是Jflva语言中的一个基本类型,它不是一个类.两者有本质的区别,故而它们是不能互换使用的,选项D错误。需要注意的是,在Java语言中提供的类都是以大写字母开头,基本类型都用小写字母表示。32、下列关于HTML标记的说法。正确的是()。A、URLgetDocumentBase()返回Applet主类的URLB、URLgetCOdeBase()返回包含Applet的HTML文件的URLC、在HTML中不说明StringgetParameter(stringname)的参数,该方法将返回“0”D、HTML标记方法用于获取HTML文件中关于Ap—plet的信息标准答案:D知识点解析:本题考查.Applet中HTML标记方法。URLgelDocumentBase()返回包含Applet的HTML文件的URL,而不是返回Applet主类的URL,选项A错误。LJRLgelC()deBase()返回Applet主类的LIRL,而不是返回包含Applet的HTML文件的URL选项B错误。StringgetParameter(stringname)返回定义在HTML文件的指定参数.如果指定参数在HTML中无说明,该方法将返回”null”,而不是”0”,因此选项C错误。33、下列关于Applet的说法,正确的是()。A、它们能读/写用户的文件系统B、它们能与提供包含小程序的网页的站点之内的Internet站点联系C、它们能在阅读者的系统上运行任何程序D、它们能加载存储在用户系统上的程序标准答案:B知识点解析:本题考查Java小程序(Applet)安全限制的概念。因为Jflva小程序运行在Web用户的系统上,所以对小程序所能完成的工作有一些严格的限制。它们不能读/写用户的文件系统,选项A说法错误。它们不能与提供包含小程序的网页的站点之外的Internet站点联系.选项B说法正确。它们不能在阅读者的系统上运行任何程序,选项C说法错误。它们不能加载存储在用户系统上的程序,如可执行程序和共享库。所有这些规则适用于运行在浏览器下的Javfl小程序,选项D说法错误。34、resume()方法恢复()的执行。A、通过调用stop()方法而停止的线程B、通过调用sleep()方法而停止运行的线程C、通过调用wait()方法而停止运行的线程D、通过调用suspend()方法而停止运行的线程标准答案:D知识点解析:本题考查resume()方法的使用。在Thread的API文档中的说明是该方法恢复被挂起(SUS—pende())的线程。该方法首先调用该线程的无参的check—Access()方法。这可能在当前线程上抛出SecurityException异常,如果该线程是活着的(alive)但被挂起(suspend()),它被恢复并继续它的执行进程。35、下列方法中能完成主类实例初始化工作的是()。A、start()B、stop()C、init()D、paint()标准答案:C知识点解析:本题考查对Applet必须要重载的几个方法的理解。选项A错误,start()方法使得程序从初始态进入运行态,当浏览器从图标状态恢复为窗口时.或者当用户离开包含Applet的主页后又再返回时,系统都会自动再执行一遍start()方法;选项B错误,stop()方法是和start()方法相对应的,当浏览器变成图标或者是用户离开Applet所在页面时,浏览器都会调用stop()方法,该方法也是可以被多次调用的;选项C正确.当创建JavaApplet且第一次使用支持.Java的浏览器载入该Applet时,就会执行init()方法,通常在这方法中执行一次性的初始化操作;选项D错误,paint()方法是画图时必须要重载的方法。36、下面的()关键字通常用来对对象加锁,从而使得对对象的访问是排他的。A、serializeB、transientC、synchronizedD、static标准答案:C知识点解析:本题考查.1ava中对泉加锁的概念。Java是多线程的语言,多个线程可以”同时”访问同一数据区.而在处理某些数据时不希望其他的线程修改那些数据的值或者某些操作是不可打断的。要做到这个,可以使用synchro—nized关键字声明这一点。37、下列程序中.若从键盘中输入的是大写字母@C@则翟序输出的结果是()。Importjava.io.*;publicclassExam{publicstaticvoidmain(Stringargs[]){inteh=0;System.out.println(“输入一个字符:”);try{ch=System.in.read();charch—A=‘A’ch—Z=‘Z’;intdelta=c=(int)ch—A+(int)ch—Z—ch;System.OUt.println(”编码后的字符为:“+(char)deltac);}catch(IOExceptione){e.printStackTrace();}}}A、CB、YC、XD、字母c的ASCII码的整型值标准答案:C知识点解析:本题考查考生阅读Java程序的能力。当使用h=System.in.read()语句从键盘读入大写字母C赋给ch.此时ch值为67,也就是字母C的ASCII值。语句(int)ch—A+(int)ch—Z—ch结果为88.ASCII码中的88相当于字母X,所以输出为X,选项C正确。38、下面的程序执行后,屏幕上显示的应是()。publicclassExam{publicstaticvoidmain(String[]args){charcharl[]={’t’.…’e’…’s’,…’t’};charchar2[]={’t’,…’e’.’s’,’t’.’l’};Stringsl=newString(charl);Strings2=newString(char2,0.4);System.out.println(s1.equals(s2));}}A、trueB、假C、testD、编译错误标准答案:A知识点解析:本题考查考生对字符数组的理解。首先可以通过字符数组来生成一个字符串对象:String(char[]value)和String(char[]value,intstartIndex,intnum(;hat’s),其中,star-tIndex指定字符串在数组中的起始下标.hum—Char.s表示字符个数。然后再测试字符串是否相等,可调用equals()方法,两个字符串相等则返回true,否则返回false。题目中sl和s2都是”test”,所以最后返回是true。选项A正确。39、以下()命令能为远程对象生成stub和skeleton。A、rmiregistryB、serialverC、rmicD、rmid标准答案:C知识点解析:本题考查J2SDK的RMI命令。rmnreg—istry命令是在当前主机的指定端口上启动远程对象注册服务程序;set。ialver命令是返回serialVersion[JID的值;rmic:命令为远程对象生成stub和skeleton;rmid命令可以激活系统守候进程,以便能够在Java虚拟机上注册和激活对象。40、Java程序与数据库的连接机制是()。A、()DBCB、JDBCC、ODBCAPID、SQL/CLI标准答案:B知识点解析:本题考查Java程序与数据库的连接。JDBC(JavaDataBaseConnectivity)是,Java程序与数据库连接的一种机制。在Java虚拟机中有个特殊模块JDBCDriv—erManager,既负责管理针对各种类型数据库软件的JDBC驱动程序,也负责和用户应用程序交互。二、基本操作题(本题共1题,每题1.0分,共1分。)41、本题中定义了一个长度为20的整数数组,然后将1~20分别赋给数组元素,计算该数组中所有下标为奇数的元素的和。publicclassjavai{publicstaticvoidmain(Stringargs[]){intsum;——;intarray;ist[]=newintV20];for(inti=0;i<=19li++)arrayListEi]=i+1;intpos=0;while(pos<20){i“——)sum=sum+arrayListEpos];——;}System.out.println(“sum=”+sum);}}标准答案:第1处:sum=0第2处:pos%2一=1或pos%21==0第3处:pos十+或pos+=1或pos=pos+1知识点解析:第1处给整型变量sum赋初值;第2处为判断数组中元素下标为奇数的条件;第3处是元素下标加1继续遍历。三、简单应用题(本题共1题,每题1.0分,共1分。)42、本题是设计一个窗体.窗口的背景色为系统桌面的颜色,在窗lZl中分别画了空心和实心的黑色矩形、深灰色圆角矩形和浅灰色椭圆形.并且画了白色粗体的“Java二级考试!”字符串。Importjava.awt.*;Importjavax.swing.*;Publicclassjava2{Publicstaticvoidmain(string[]args){Fillframeframe=newfillfra、me();Frame.setdefauItcloseoperation(jframe.exit__on__close);Frame.show();}}Classfillframeextendsjframe{Publicfillframe(){Settitle(“simple”);Setsize(width,height);Fillpanelpanel=newfillpanel();Panel.setbackground(systemcolor.desktop);Containercontentpane=getcontentpane();Contentpane.add(panel);}Publicstaticfinalintwidth=400;Publicstaticfinalintwidth=250;}Classfillpanelextendsjpanel{Publicvoidpaintcomponent(graphicsg){_____;g.setcolor(newcolor(10,10.10));g.drawreet(10,10.100,30);g.setcolor(newcolor(100.100,100));g.drawroundrect(150,10,100.30,15,15);g.setcolor(newcolor(150,150.150));g.drawoval(280.10,80,30);g.setcolor(newcolor(10,10,10));g.fillreet(10,110,100,30);g.setcolor(newcolor(100,100,100));g.drawroundrect(150.110.100,30,15.15);g.setcolor(newcolor(150,150.150));g.filloval(280,110,80,30);g.setcolor(color.white);fontf=newfont(“宋体”.__,20);g.setfont(f);g.drawstring(“java二级考试!”,150,200);}}标准答案:第1处:super.paintComponent(g);第2处:Font.BOLD知识点解析:第1处是通过super语句调用父类的构造方法paintComponent(g)。第2处是通过字体对象的构造函数,设置“.Java二级考试!”格式.题目要求是粗体,所以大Font.BOLD。四、综合应用题(本题共1题,每题1.0分,共1分。)43、本题的功能是监听对于列表项的操作。窗口中有一个列表和三个按钮“添加”、“删除”和“关闭”。单击“添加”按钮.则会在当前所选列表项后添加一个名为“新增表项”的列表项。同时后台输入列表中的表项数量。单击“删除”按钮后,如果未选中表项,则弹出提示消息框“请选择表项”。否则将选中的表项删除,同时后台输出删除表项的内容和列表中的表项数量。单击“关闭”按钮退出程序。importjava.awt.*;importjflVfl.awt.event.*;importjavax.swing.JOptionPane;publicClaSSjava3{publicstaticvoidmain(Stringargs[]){finalFramefrmFrame=newFrame();PanelpnlPanell=newPanel();PanelpnlPanel2=newPanel();finalListlstList=newList(8);for(inti=0;i<10,i++){StringstrName=“表项”+(newInteger(i+1)).toString();lstList.add(strName);}ButtonbtnButtonl=newButton(“添加”);ButtonbtnButton2=newButton(“删除”),ButtonbtnButton3=newButton(“关闭”);btnButtonl.addActionl.istener(newActionListen—er(){publicvoidactionPerformed(ActionEvente){lstList.add(”新增表项”,lstList.getSelected()+1);System.Out.println(”列表中的表项数量:”+lstList.gethemCount());}));btnButton2.addActionListener(newAction;isten—er(){publicvoidactionPerformed(ActionEvente){if(istList.getSelected()==null){JOptionPane.showMessageDialog(frmFrame,”请选择表项”);return;}System.out.println(“删除表项的内容:”+lstList.getSelectedhem());lstList.delete(IstList.getSlecetdIndex());System.Out.println(”列表中的表项数量:”+lstList.gethemCount());)});btnButton3.addActionListener(newActionListen—er(){publicvoidactionPerformed(ActionEvente){System.exit(0);}));pnlPanell.add(1stList);pnlPanel2.add(btnButtonl);pnlPanel2.add(btnButton2);pnlPanel2.add(btnButton3);frmFrame.add(“North”.pnlPanell);frmFrame.add(“South”,pnlPanel2);frmFrame.setTitle(“java3”);frmFrame.pack();frmFrame.show(),}}标准答案:第1处;lstList.getSelectedlndex()+1第2处;lstList.getSelectedhem()==null第3处:lstList.remove(1stList.getselectedIndex())知识点解析:第1处是从当前所选列表项向后移一位;第2处是表示当前未选中表项即为null!第3处是清除所选项目的索引。国家二级(JAVA)机试模拟试卷第2套一、基本操作题(本题共1题,每题1.0分,共1分。)1、下面程序执行结果为:1×1=12×1=22×2=43×1=33×2=63×3=99×1=99×2=189×3=279×4=369×5=459×6=549×7=639×8=729×9=81请在每条横线处填写一个语句,使程序的功能完整。注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。publicclassForLoopStatement{publicstaticvoidmain(Stringargs[]){intm,n;for(m=1;m<10;______)______System.out.print(m+"*"+n+"="+m*n+"");______}}标准答案:m++for(n=1;n<=m;n++)System.out.println();知识点解析:本题考查Java的循环语句。本题中m++;语句是使循环变量的值递增1,第一个for(m=1;m<10;m++)循环语句是用来控制乘法表的行输出,那么还要用一个for循环语句来实现控制列的输出。这个列的变量n要注意,它总是小于等于m的,所以应有for(n=1;n<=m;n++);语句System.out.println();是用来换行输出。二、简单应用题(本题共1题,每题1.0分,共1分。)2、请完成下列Java程序。程序的功能是利用迭代法求一个数的平方根(求平方根的迭代公式为:Xn+1=1/2(Xn+a/Xn)).注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。publicclassPingFangGen{publicstaticvoidmain(Stringargs[]){System.out.println(Math,sqrt(2.0));}staticdoublesqrt(______){doublex=1.0do{_______}while(Math.abs(x*x-a)/a>le-6)returnx;}}标准答案:doubleax=(x+a/x);知识点解析:本题主要考查do---while循环语句及Java的基本运算。do---while循环又称“直到型”循环,它的一般格式为:[初始化部分]do{循环体部分;迭代部分;}while(判断部分);。说明如下:(1)do---while结构首先执行循环体,然后计算终止条件,若结果为true,则循环执行大括号中的语句或代码块,直到布尔表达式的结果为false。(2)与while结构不同的是,do---while结构的循环至少被执行一次,这是“直到型”循环的特点。在本题中,doublea语句是定义一个double型变量a,x=(x+a/x);语句的功能是迭代求出被开平方的变量。三、综合应用题(本题共1题,每题1.0分,共1分。)3、下面是一个Applet程序,其功能是接收用户输入的两个整数,比较它们的大小,并在用户按下“比较大小”按钮后,将Applet中显示的“请先输入两个待比较的整数”,改为“两个整数中最大值是:x”,x是两个数中的最大值。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。importjava.applet.*;importjava.awt.*importjava.awt.event.*;/*<appletcode=LookForMaxwidth=800height=400></applet>*/publicclassLookForMaxextendsAppletimplementsActionListener{Labelresult;TextFieldin1,in2Buttonbtn;inta=0,b=0,max=0;publicvoidinit(){result=newLabel("请先输入两个待比较的整数");in1=newTextField(5);in2=newTextField(5)btn=newButton("比较大小");add(in1);add(in2)add(btn)add(result)btn.addActionListener(super)}publicvoidactionPerformed(ActionEvente){a=Integer.parseInt(in1);b=Integer.parselnt(in2);if(a>b)max=a;elsemax=b;result.setText("两个数中最大值是:"+max);}}LookFormax.html;<html><head><title>ASimpleProgram</title></head><body><appletcode="LookForMax,class"width800height=400></applet></body></html>标准答案:thisin1.getText()in2.getText()知识点解析:本题主要考查JavaApplet程序的编写、java.awt包的基本组件的使用及super和this关键字的使用。Applet(小程序)是一种很重要的Java程序,是工作在Internet的浏览器上或借助JDK中的appletviewer来工作的Java程序。编写Applet小程序必须要用到java.applet包中的Applet类。java.applet.Applet是java.awt.Panel的子类。在本题中,publicclassLookForMaxextendsAppletimplementsActionListener语句的功能是声明一个继承Applet类且实现ActionListener接口的类LookForMax来实现程序功能,btn.addActionListener(this);语句的功能是为按钮btn对象注册一个事件监听器this(this是指当前LookForMax的对象),a=Integer.parseInt(in1.getText());和b=Integer.parseInt(in2.getText());语句的功能是把从文本框in1和in2获得的字符型数据转换成基本整型数据,并把这两个值分别赋给变量a和b。国家二级(JAVA)机试模拟试卷第3套一、基本操作题(本题共1题,每题1.0分,共1分。)1、程序如下:∥计算两个整数的乘法Java_1.javaimportjavax,swing.JOptionPane;publicclassJava_1{publicstaticvoidmain(Stringargs[]){intx,y,result;StringxVal,yVal;xVal=JOptionPane.showInputDialog("输入第1个整数:");yVal=JOptionPane.showInputDialog("输入第2个整数:");∥**********Found**********x=Integer.parseInt((1));y=Integer.parseInt(yVal);result=x*y;∥**********Found**********JOptionPane.(2)(null,"两个数的积:"+result);System.exit(0);}}标准答案:1.xVal2.showMessageDialog知识点解析:本题首先要将用户输入的数字字符转换成int型的十进制数,所以调用parseInt(Stringstr)方法将xVal和yVal转换成int型,所以第一处应填入“xVal”。JOption-Pane.showMessageDialog()方法用于显示消息对话框,所以第二处应填入“ShowMessageDialog”。二、简单应用题(本题共1题,每题1.0分,共1分。)2、程序如下:∥Java_2.javapublicclassJava_2{publicstaticvoidmain(String[]args){int[][]aMatrix={(1,1,1,1},{2,2,2,2},{3,3,3,3},{4,4,4,4}};inti=0;∥循环变量intj=0;∥循环变量∥**********Found**********for(i=0;i<(3);i++){for(j=0;j<aMatrix[i],length;j++){∥**********Found**********System.out.print((4)+"");{System.out.println();}}}标准答案:3.aMatrix.length4.aMatrix[i][j]知识点解析:程序中,变量i索引数组中元素的行号,变量j索引每一行中元素的列号。在外层循环中,i不能超过二维数组的行数,即i要小于数组的长度,所以i<aM-atrix.length;第二处要求输出元素,对于二维数组索引而言,应表示为aMatrix[i][j],即第i行第j列位置上的元素。三、综合应用题(本题共1题,每题1.0分,共1分。)3、程序如下:∥Java_3.javaimportjava.awt.*;importjavax,swing.*;∥**********Found**********publicclassJava_3(5)JApplet{∥**********Found**********publicvoid(6)(){ContainercontentPane=getContentPane();JLabellabel=newJLabel("Java的诞生是对传统计算模式的挑战!",SwingConstants.CENTER);∥**********Found**********contentPane,add((7));}}∥Java_3.html<html><appletcode="Java_3.class"width=300height=50></applet></html>标准答案:5.extends6.init7.label知识点解析:很显然,Java_3类继承自JApplet类,所以第一处应填入“extends”,表明Java_3与JApplet之间的继承关系。对于Applet的定义接下来要进行初始化工作,即重载init()方法,所以第二处应填入“init’’。第三处要在顶层容器的内容面板中添加一个定义好的JLabel,所以应填入“label”。国家二级(JAVA)机试模拟试卷第4套一、基本操作题(本题共1题,每题1.0分,共1分。)1、请完善程序(程序文件名:Java_1.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。[题目要求]完成程序并运行,得到的结果如下图所示。源程序:importjavax.swing.JOptionPane;publicclassJava_1{publicstaticvoidmain(Stringargs[]){Stringoutput="";for(intcount=1;count<=10;(1)){if(count(2))continue;//当count为5时跳过循环中的剩余代码output+=count+"":}output+="\nUsedcontinuetoskipprinting5":JOptionPane.showMessageDialog(null,output);System.exit(0);}}标准答案:count++==5知识点解析:当count为5时跳过循环,执行下一个循环,所以判断条件为count是否等于5,Java中用“==”表示判断是否相等,所以语句为count==5。[程序解析]本程序主要考查for循环中的强制跳转语句。强制跳转语句有continue和break两种。break语句用来退出循环,并从紧跟该循环语句的第一条语句处开始执行;而continue语句则跳过循环体中下面尚未执行的语句,回到循环体的开始继续下一轮的循环。二、简单应用题(本题共1题,每题1.0分,共1分。)2、请完善程序(程序文件名:Java_2.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。[题目要求]打开一个文本文件test.txt,统计该文件中包含的数字的个数与英文字母的个数(忽略大小写)。例如test.txt文本文件中包含的内容为“123abeDEF99G”,则程序的输出结果如下:数字数是5,字母数是7源程序:importjava.io.*:publicclassJava_2{publicstaticvoidmain(String[]args){bytebuf[]=newbyte[5];intlen=0,c1=0,c2=0;(1){FileInputStreamin=(2)("test.txt");while((len=in.read(bur,0.5))>0){for(inti=0;i<len;i++)if(buf[i]>=’0’&&buf[i]<=’9’)cl++;elseif((bur[i]>=’a’&&buf[i]<=’z’)||buf[i]>=’A’&&buf[i]<=’z’)c2++;if(len<5)break;}in.close();}catch(Exceptione){}System.out.println("数字数是"+c1+",字母数是"+c2);}{标准答案:trynewFileInputStream知识点解析:由于in是FileInputStream类的对象,所以此处需要将in通过构造方法FileInputStream(Stringname)实例化。FileInputStream(Stringname)——通过打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的路径名name指定。[程序解析]本程序利用FileInputStream类从文件中读取一系列字符,然后判断字母和数字个数,将结果输出。三、综合应用题(本题共1题,每题1.0分,共1分。)3、请完善程序(程序文件名:Java_3.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求:编写程序完成类Java_3的完整功能,该类定义了几何点对象的操作。该程序的运行结果如下:x=5y=5Locationis(5,5)x=8y=9Locationis(8,9)源程序:publicclassJava_3{intx,y;//点的坐标publicJava_3(){}publicJava_3(intx,inty){(1)}//构造方法,对(x,y)进行初始赋值publicJava_3(Java_3P){(2)}//构造方法,将P的坐标赋值给(x,y)//以对象的形式返回当前点的位置publicJava_3getLocation(){Java_3p=(3);//实例化一个Java_3对象p,其坐标是(x,y)(4);//返回对象p}publicintgetX(){returnx;}//返回点的横坐标publicintgetY(){returny;}//返回点的纵坐标publicvoidmove(intx,inty){this.x=x;this.y=y;}//把当前点移到新的位置(x,y)上publicStringtoString(){return"("+x+","+y+")";}//以(x,y)的格式返回点的位置publicvoidtranslate(intx,inty){this.x+=x;this.y+=y;}//在原有坐标上分别增加x和ypublicstaticvoidmain(Stringargs[]){Java_3P=(5);//生成一个对象(5,5)System.out.println("x="+p.x+"y="+p.y);System.out.println("Locationis"+p.toString());//12(x,y)的方式打印坐标的位置(6);//在原有位置上增加(3,4)System.out.println("x="+p.x+"y="+p.y);//打印横坐标和纵坐标的值System.out.println("Locationis"+p.toString());//以(x,y)的方式打印坐标的位置}}标准答案:(1)this.x=x;this.y=y;(2)this.x=p.x;this.y=p.y;(3)newJava_3(x,y);(4)returnp(5)newJava_3(5,5)(6)p.translate(3,4)知识点解析:定义构造方法,由于给了两个参数,所以需要通过参数给类的变量赋值,因此通过this关键字表明是对当前类的变量赋值。定义构造方法,由于参数给了Java_3类的对象p,所以通过这个参数给变量赋值。注释说明是通过坐标(x,y)进行实例化,所以构造方法需要有两个参数x和y。根据注释以及程序中创建的对象p,需要将p返回,因此是return语句。注释中给出了对象的坐标(5,5)因此需要通过两个参数x和y调用构造方法Java_3(intx,inty)进行实例化。注释中说明在原有位置增加(3,4),因此需要对对象调用方法translate()。可以通过方法的定义看出是在原有位置增加一定值。[程序解析]本程序主要考查类的对象的创建、构造方法的重载和类的方法使用。国家二级(JAVA)机试模拟试卷第5套一、基本操作题(本题共1题,每题1.0分,共1分。)1、下列程序中,要求计算1+2+3+…+100的值,并显示计算结果。请将程序补充完整。程序运行结果如下:5050源程序代码文件清单如下:publicclassex20_1{publicstaticvoidmain(Stringargs[]){ex20_1obj20_1=newex20_1();obj20_1.method20_1();}publicvoidmethod20_1(){intsum;______;for(inti=1;i<=100;i++){______;}______;}}标准答案:sum=0sum+=i或者sum=sum+iSystem.out.println(sum)知识点解析:本题主要考查整型变量的初始化、累加和输出操作,以及for循环语句的用法。解题关键是熟悉整型变量的基本操作,熟悉并能利用for循环语句解决一些简单的数学问题。本题中,第1个空,需要对变量sum进行初始化,否则以后进行累加时会产生错误;第2个空,填入累加的表达式;第3个空,调用基本I/O方法将运算结果显示出来。二、简单应用题(本题共1题,每题1.0分,共1分。)2、请完成下列Java程序。程序的功能是显示用户在命令行方式下指定的任意驱动器文件夹的内容。提示:publicstring()list();//将文件夹中所有文件名保存在字符数组中返回。注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。源程序文件代码清单如下:importjava.io.*;publicclassFindDirectories{publicstaticvoidmain(Stringargs[]){if(args.length==0)args=newString(){".."};try{______;String[]fileName=pathName.list();for(inti=0;i<fileName.length;i++){Filef=newFile(pathName.getPath(),fileName[i]);if(______){System.out.println(f.getCanonicalPath());main(newString[]{f.getPath()});}}}catch(IOExceptione){e.printStackTrace();}}}标准答案:FilepathName=newFile(args[0])f.isDirectory()知识点解析:本题主要考查文件操作的基本知识。解答本题的关键是熟练掌握对文件操作的基本知识。其中,FilepathName=newFile(args[0])语句的功能是生成File类对象pathName;if(f.isDirectory())语句的功能是判断生成的f对象是否为文件夹。三、综合应用题(本题共1题,每题1.0分,共1分。)3、下面是一个Applet程序,其功能是实现网页上的电子时钟,要求显示的格式为hh:mm:ss如02:04:50。提示:通过获取当前系统时间来实现。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。源程序文件清单如下:importjava.applet.*;importjava.awt.*;importjava.util.Date;publicclassex03_3extendsAppletimplementsRunnable{privateThreadthTimer=null;privateStringstrTime;privateinttHour,tMin,tSec;publicvoidinit(){setFont(newFont("TimesNewRoman",Font.BOLD,20));}publicvoidpaint(GraphicsGraph){DatedNow=newDate();tHour=dNow.getHours();tMin=dNow.getMinutes();tSec=dNow.getSeconds();if(tHour<=9)strTime="0"+tHour+":";elsestrTime=tHour+":";if(tMin<=9)strTime="0"+strTime+tMin+":";elsestrTime=strTime+tMin+":";if(tSec<=9)strTime="0"+strTime+tSec;elsestrTime=StrTime+tSec;Graph.drawString(StrTime,80,80);}publicvoidStart{}{if(thTimer==null){thTimer=newThread();thTimer.start();}}publicvoidrun(){while(thTimer!=null){repaint();try{Thread.sleep(1000);}catch(InterruptedExceptionie)}}}ex03_3.html<HTML><HEAD><TITLE>ex03_3</TITLE></HEAD><BODY><appletcode="ex03_3.class"width=800height=400></applet></BODY></HTML>标准答案:strTime=strTime+"0"+tMin+":"strTime=strTime+"0"+tSecnewThread(this)知识点解析:本题主要考查Java多线程与Applet的图形绘制相结合解决实际问题的综合应用。解题关键是熟悉Java多线程的程序设计思想,必须在程序中编写线程类内start()、stop()和run()方法的相关程序,利用线程类的sleep()方法,让每次显示的时间延迟1秒,使电子时钟看起来像是每一秒跳动一次的样子,同时还要熟悉Date类的getHours()等方法获得时间。本题中,包含两个线程,一个是程序中Runnable得到的线程,另一个是程序本身。第1处和第2处错误相似,一个是在不足10的小时数的前一位补上0,如tHotur=9,则显示出来的应该是09:第3处,用Thread类的构造函数创建新的线程时,需要把this作为参数传递给新的线程,否则程序不会动态执行。国家二级(JAVA)机试模拟试卷第6套一、基本操作题(本题共1题,每题1.0分,共1分。)1、下列程序中,实现将封装数据类型Integer和基本数据类型int之间的转换,以及Integer,int类型和String类型之间的转换。请将程序补充完整。程序运行结果如下:123456456publicclassex7_1{publicstaticvoidmain(String[]args){IntegerintObj;intn;Strings;intObj=newInteger(123);n=intObj.__________;System.out.printin(Integer.toString(n));s=newString("456");intObj=Integer._________;System.out.println(intObj.__________);n=Integer.parseInt(s);System.out.println(Integer.toString(n));}}标准答案:intValue()valueOf(s)toString()知识点解析:本题主要考查Java类库中对简单数据类型的封装以及对封装类型与基本类型之间的转换。解题关键是熟悉基本数据类型的封装,以及一些常用封装类型的常用转换方法,如Integer类的parseInt()方法等。本题中,第1个空,使用intValue()方法将封装对象intObj转换为基本的数据类型int;第2个空,使用valueOf()方法,将字符串转换为封装对象intObj;第3个空,使用toString()方法,将封装对象intObj转换为字符串打印出来,注意,这里不可以加参数。二、简单应用题(本题共1题,每题1.0分,共1分。)2、请完成下列Java程序:用JFrame建立一个窗口,再用网格布局管理器,对窗口布局进行控制,上面有2行2列4个按钮,要求对按钮的大小进行设定,宽度为150,高度为80。注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassex9_2{publicstaticvoidmain(String[]args){JFramefrm:newJFrame();frm.setTitle("ex9_2");Containercont=frm.getContentPane();_____________;cont.add(newJButton("button1"));cont.add(newJButton("button2"));Dimensiondimen=____________;JButtonbtn1=newJButton("button3");btn1.setPreferredSize(dimen);cont.add(btn1);cont.add(newJButton("button4"));frm.addWindowListener(newWindowAdapter(){publicvoidwinowClosing(WindowEventwe){System.exit(0);}});frm.pack();frm.setVisible(true);}}标准答案:cont.setLayout(newGridLayout(2,2))newDimension(150,80)知识点解析:本题主要考查网格布局管理器(GridLayout)在使用swing制作图形用户界面时的一些简单应用。解题关键是熟悉GridLayout的使用方法,初始化的方法是通过容器Container的对象调用setLayout()方法实现的,而它的一些特点,如并不会保持当初组件所定义的大小等,也需要很熟悉。本题中,第1个空,采用初始化Dimension类的对象来给出Button组件的初始大小:参数分别是宽度和高度;第2个空,将容器通过网格布局管理器设置为2行2列。三、综合应用题(本题共1题,每题1.0分,共1分。)3、下面是一个Applet程序,其功能是将完整的图像显示于Applet的区块中,然后可以通过拖动鼠标让图像随着鼠标拖动的轨迹而移动。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.applet.*;importjava.awt.*;/*<appletcode="ex8_3.class"width=800height=400></applet>*/publicclassex8_3extendsApplet{

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论