华南理工大学java模拟题 (2)
- 格式:doc
- 大小:22.50 KB
- 文档页数:2
2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1.一个正在执行的线程在遇到下列()情况下会终止执行?A. 执行stop()方法;B. 执行wait()方法;C. 执行seleep()方法;D. 其run()方法运行完后。
答案:AD2.下面哪个是合法的布尔值A. “false”B. falseC. 10答案:B3.转发HTTP请求的两个方法 respsonse.sendDirect 和 RequestDispatcher.forward 的区别答案:RequestDispatcher.forward()方法和HttpServletResponse.sendRedirect()方法的区别是:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。
这样,从浏览器的地址栏中可以看到跳转后的链接地址。
所以,前者更加高效,在前者可以满足需要时,尽量使用Request Dispatcher.forward()方法,并且,这样也有助于隐藏实际的链接。
在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。
4.1. 保证在java应用程序中,一个类Class只有一个实例存在该使用什么设计模式答案:单例5."MyObject哪个方法会影响到这段代码的正确性以及效率?Set set = new java.util.HashSet();set.add( new MyObject(A”));if ( set.contains( new MyObject(A”))) {……}A. hashCodeB. toStringC. cloneD. equals答案:6.对于大多数J2EE Constainer来说,web应用最终可以用哪种形式部署?A. jarB. earC. warD. 直接以目录形式答案:BCD7."给出下面的不完整的方法:1)2){ success = connect() ;3)if (success == -1){4) throw new TimeOutException();5)}6)}TimeOutException 不是一个RuntimeException,下面那行可以放在 1)处?A. public void method() throws ExceptionB. public void method()C. public void method() throws TimeOutExceptionD. public void method() throw TimeOutException答案:8.软件设计阶段的输出主要是:A. 伪代码B. 程序C. 模块D. 设计规格说明书答案:D9.下面哪些是合法的标识符?A. *point;B. _endline;C. $personC. const答案:BC10.下列关于java程序结果错误的是A. 源文件可以没有 import 语句B. Package语句必须放在源文件的第一句C. 一个源文件可以有多个类定义D. 一个源文件可以定义多个public类答案:D11.多选题:答案:12."下面语句输出的结果是什么?int score = 9;switch (score){case 0:System.out.println();default: System.out.println(""Error"");case 3: System.out.println(""Good"");break;case 2: System.out.println(""Best"");}A. Error Good BestB. Error goodC. ErrorD. 没有任何输出答案:B13."类A定义如下:class A{private int x=10;int getx(){retrun x;}}class B extends A{private int x=15;//需要覆盖getx()方法}在“//需要覆盖getx()方法”后应加上的函数是?A. int getx(float f) {…}B. int getx() {…}C. double getx(float f) {….}D. folat getx() {…}答案:B14.构造ArrayList类的一个实例,下列哪个方法是正确的?A. List myList = new ArrayList();B. ArrayList myList = new List();C. List myList = new List();D. ArrayList myList = new Object();答案:A15.下面哪些接口的声明是错误的?A. interface MyInterface extends Youninterface{}B. private interface MyInterface{}C. interface MyInterface extends Youninterface1, Youninterface2{}D. interface MyInterface implements MyInterface{}E. interface MyInterface{}答案:C16.Java程序运行入口的main方法的返回值类型是什么?A. booleanB. staticC. intD. void答案:D17.下面哪个Map是排序的?A. HashtableB. TreeMapC. HashMapD. WeakHashMapE. LinkedHashMap答案:E18.在java中判断applet的来源的方法有?A. getCodeBase();B. getDocumentBase();C. getCodebase();D. getDocumentbase();答案:AB19.下面的异常处理说明正确的是( )A. try块只能使用一个catch子句。
全国计算机等级考试二级Java模拟试卷及答案Java语言程序设计一、选择题(1)Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?A)安全性B)多线性C)跨平台D)可移植(2)下列哪个类声明是正确的?A)abstract final class HI{···}B)abstract private move(){···}C)protected private number; D)public abstract class Car{···}(3)下列关于for循环和while循环的说法中哪个是正确的?A)while循环能实现的操作,for循环也都能实现B)while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C)两种循环任何时候都可替换D)两种循环结构中都必须有循环体,循环体不能为空(4)异常包含下列那些内容?A)程序中的语法错误B)程序的编译错误C)程序执行过程中遇到的事先没有预料到的情况D)程序事先定义好的可能出现的意外情况(5)Character流与Byte流的区别是A)每次读入的字节数不同B)前者带有缓冲,后者没有C)前者是块读写,后者是字节读写D)二者没有区别,可以互换使用(6)监听事件和处理事件A)都由Listener完成B)都由相应事件Listener处登记过的构件完成C)由Listener和构件分别完成D)由Listener和窗口分别完成(7)Applet可以做下列那些操作?A)读取客户端文件B)在客户端主机上创建新文件C)在客户端装载程序库D)读取客户端部分系统变量(8)下列哪个属于容器的构件?A)JFrame B)JButton C)JPnel D)JApplet(9)如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?A)BoxLayout B)GridLayout C)BorderLayout D)FlowLouLayout(10)为实现多线程之间的通信,需要使用下列那种流才合适?A)Filter stream B)File stream C)Random access stream D)Pipde stream二、填空题(1)对象串行化可以很容易地扩展成支持Java对象的[1],它提供了对象从流中重建的补充方式.(2)Vector类的对象是通过capacity和capacityIncrement两个值来改变集合的容量,其中capacity表示集合最多能容纳的[2] ,capacityIncrement表示每次增加多少容量,不是一个一个增加.(3)下列程序的功能是判断某一年是否为闰年.请在横线处填入适当内容,使程序能够正确运行.import java.io.*;public class LeapYear{public static void main(String arge[])throws IOException{InputStreamReader ir;BufferdeReadwe in;ir=new InputStreamReader(System.in);in=new BufferedReader(ir);System.out.println(“输入年份是:”);String s= [3]int year=Integer.parseInt(s);if year % 4 = = 0 && year % 100! = 0 // year % 400 = = 0){System.out.println(""+year+"年是闰年.");}else{System.out.println(""+year+"年不是闰年..");}}}(4)下面程序对数组中每个元素赋值,然后按逆序输出.请在横线处填入适当内容,使程序能正常运行.import java.io.*;public class ArrayTest{public static void main(String args[]){int i;int a[] = new int[5];for(i=0;i<5;i++)a=i;for( [4] i>=0;i- -)System.out.println("a["+i+"]="a);}}(5)下列程序的功能是:输入一个姓名,程序运行后,输出“姓名Welcome you!”.例如,输入“张三Welcomeyou !”.请在下面横线处填入正确的方法名,使程序可以正确运行.import java,awt,*;import java.awt.event.*;public class welcomenYou{public static void main(String args[]){new FrameInOut();}}class FrameInOut extends Frame implements ActionListener{Label prompt;TextField input,output;Button btnn;void FramInOut(){prompt=new Label("Please input your name");input=new TextField(10);output=new TextField(25);btnn=new Button("Class");[5] (new FlowLayout());add(prompt);add(input);add(output);add(btnn);input.addActionListener(this);btnn.addActionListener(this);setSize(300.200);show();}public void actionperformed(ActionEvent e){if(e.getSource() = = input)output.setText(input.getText()+"Welcome you!");else{dispose();system.exit(0);}}}Java程序设计答案一:选择题:1-5 :B D D C C6-10:B A A B D二:填空题:(1)[1]:持续存储或持久存储(2)[2]:元素个数(3)[3]:in.readLine()(4)[4]:i=a.Length-1(5)[5]:setLayout。
一、选择题1、面向对象程序设计语言的三个基本特征是?(D)A.封装、接口和多态B.继承、接口和动态C.跨平台、接口和动态D.封装、继承和多态2、关于继承和实现说法正确的是?(A)A、类可以实现多个接口,接口可以继承(或扩展)多个接口B、类可以实现多个接口,接口不能继承(或扩展)多个接口C、类和接口都可以实现多个接口D、类和接口都不可以实现多个接口3、关于访问权限说法正确的是?(B)A、类定义前面可以修饰public,protected和privateB、内部类前面可以修饰public,protected和privateC、局部内部类前面可以修饰public,protected和privateD、以上说法都不正确4、类Person里面有个方法sleep(),如果直接用Person.sleep(),则方法sleep 前面必须用的关键词是?(B)A.classB.staticC.publicD.final5、下列关于构造方法不正确的是:(D)A.类的构造方法和类同名B.一个类可以有多个构造方法C.在实例化对象时必须调用类的构造方法D.构造方法可以和该类其他方法一样被该类对象调用6、关于匿名内部类叙述正确的是?(B)A、匿名内部类可以继承一个基类,不可以实现一个接口B、匿名内部类不可以定义构造器C、匿名内部类不能用于形参D、以上说法都不正确7、关于抽象类的叙述正确的是?(A)A.抽象类不可以实例化,或者说抽象类不能声明为对象B.抽象类就是一种特殊的接口C.抽象类的方法都是抽象方法D.抽象类的导出类一定不是抽象类8、下列选项中,用于在定义子类时声明父类名的关键字是:(C)A.interfaceB.packageC.extendsD.class9、关于访问权限,说法正确的是?(A)A、类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A可以访问类B的方法testBB、类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A不可以访问类B的方法testBC、访问权限大小范围:public>包权限>protected>privateD、访问权限大小范围:public>包权限>private>protected10、类Car里面有个方法run(),如果直接用Car.run(),则方法run前面必须用的关键词是?(D)A.classB.finalC.publicD.static11、关于访问权限,说法正确的是?(C)A、访问权限大小范围:public>包权限>protected>privateB、访问权限大小范围:public>包权限>private>protectedC、类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A可以访问类B的方法testBD、类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A不可以访问类B的方法testB12、关于Java语言描述正确的是?(B)A、java和C++都保留了指针B、java和C++都有三个特征:封装、继承和多态C、java的垃圾回收机制是指程序结束时系统自动回收内存D、以上说法都不正确13、如果要建立一个puter的包,叙述正确的是?(D)A、在代码中,不一定是第一句,只要是类定义前,加入package语句即可B、只需在代码中加入“package ;”一个语句C、必须在代码中加入“package ;”和“package puter;”两个语句D、只需在代码中加入“package puter;”一个语句14、不允许作为类及类成员的访问控制符是:(C)A.publicB.privateC.staticD.protected15、要导入java/awt/event下面的所有类,叙述正确的是?(C)A、import java.awt.*和import java.awt.event.*都可以B、只能是import java.awt.*C、只能是import java.awt.event.*D、import java.awt.*和import java.awt.event.*都不可以16、下列修饰符中与访问控制权限无关的是?(D)A.private B.publicC.protected D.final17、关于下面程序ThisTest.java运行结果说法正确的是:(B)public class ThisTest{public static void main(String args[]){String x="7";int y=2;int z=2;System.out.println(x+y+z);}}A.11B.722C.22D.程序有编译错误18、关于final说法正确的是?(B)A、final类的方法肯定不能被同一个包的类访问B、final类的方法能否被同一个包的类访问不是由final决定C、final方法等同于private方法D、final对象本身的引用和值都不能改变19、关于抽象类和接口叙述正确的是?(D)A、抽象类和接口都能实例化的B、抽象类不能实现接口C、抽象类方法的访问权限默认都是publicD、接口方法的访问权限默认都是public20、如果要建立一个puter的包,叙述正确的是?(A)A、只需在代码中加入“package puter;”一个语句B、只需在代码中加入“package java.scut;”一个语句C、必须在代码中加入“package java.scut;”和“package puter;”两个语句D、在代码中,不一定是第一句,只要是类定义前,加入package语句即可21、列表(List)和集合(Set)下面说法正确的是?(A)A)Set中至多只能有一个空元素B)List中至多只能有一个空元素C)List和Set都可以包含重复元素的有序集合D)List和Set都是有序集合22、导出类调用基类的构造器必须用到的关键字:(C)A.thisB.finalC.superD.static23、定义一个接口必须使用的关键字是?(C)A、publicB、classC、interfaceD、static24、字符界面下接受用户从键盘输入,需要import的包是:(C)ng包B.java.awt包C.java.io包D.java.applet包25、下面这三条语句System.out.println(“is”+100+5);System.out.println(100+5+“is”);System.out.println(“is”+(100+5));的输出结果分别是?(C)A、is1005,1005is,is1005B、is105,105is,is105C、is1005,1005is,is105D、is1005,105is,is10526、关于容器下面说法正确的是?(D)A、列表(List)和集合(Set)存放的元素都是可重复的。
全国计算机考试二级考试Java模拟试题附答案1、类Test1定义如下:public class Test1{public float aMethod(float a,float b){}____}根据方法重载的定义,将以下哪种方法插入下划线部分是不合法的。
(B )public float aMethod(float a,float b,float c){}public float aMethod(float c,float d){}public float aMethod(int a,int b){}public float aMethod(int a,int b,int c){}2、为AB类的一个无形参无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A )。
static void method()public void method()final void method()abstract void method()3、有以下方法的定义,ReturnType method(byte x,floaty){return(short)x/y*2;}请选择该方法的返回类型( B)。
**byteshortintfloat4、定义一个表示20个值为null的字符串数组,下面选项正确的是(D )。
String[] aString a[]char a[20][]String a[]=new String[20]5、关于方法的形参和实参,下列说法正确的是(C )。
和实参一样,在定义形参时,即被系统分配内存单元,直至程序结束。
实参可以是常量、变量、表达式,但是不能是方法。
实参和形参在数量上、类型上和顺序上必须严格一致。
方法调用中的数据是单向传递的,即形参的值在方法调用结束后传给实参。
6、在Java语言中,可以用来完成方法调用的方式是( D):方法作为表达式中的一项出现在表达式中。
2022年华南理工大学软件工程专业《操作系统》科目期末试卷A(有答案)一、选择题1、假设4个作业到达系统的时刻和运行时间见表。
系统在t=2时开始作业调度。
若分别采用先来先服务和短作业优先调度算法,则选中的作业分别是()。
A.J2、J3B.J1、J4C.J2、J4D.J1、J32、处理外部中断时,应该山操作系统保存的是()A.程序计数器(PC)的内容B.通用寄存器的内容C.快表(TLB)中的内容D.Cache中的内容3、若每个作业只能建立“一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用():为了实现人机交,应采用():为了使短作业、长作业,和交互作业用户都满意,应采用()。
I.FCFS调度算法II.短作业优先调度算法,III.时间片轮转调度算法IV.多级反馈队列调度算法V.基于优先级的剥夺调度算法A. II、V、I,IVB. I、V、III、IVC. I、II、IV、IIID.II、V、III、IV4、下列描述中,()并不是多线程系统的特长。
A.利用线程并行地执行矩阵乘法运算B.Web服务器利用线程响应HTTP请求C.键盘驱动程序为每个正在运行的应用配备一个线程,用以响应该应用的键盘输入,D.基于GUI的调试程序用不同的线程分别处理用户输入、计算和跟踪等操作5、要实现两个进程互斥,设一个互斥信号量mutex.当mutex为0时,表示()。
A.没有进程进入临界区B.有一个进程进入临界区C.有一个进程进入临界区,另外一个进程在等候D.两个进程都进入临界区6、程序员利用系统调用打开I/O设备时,通常使用的设备标识是(),A.逻辑设备名B.物理设备名C.主设备号D.从设备号7、操作系统的I/O子系统通常由4个层次组成,每-层明确定义了与邻近层次的接口,其合理的层次组织排列顺序是()。
A.用户级I/O软件、设备无关软件、设备驱动程序、中断处理程序B.用户级I/O软件、设备无关软件、中断处理程序、设备驱动程序C.用户级I/O软件、设备驱动程序、设备无关软件、中断处理程序D.用户级I/O软件、中断处理程序、设备无关软件、设备驱动程序8、在磁盘上容易导致存储碎片发生的物理文件结构是()A.链接B.连续C.索引D.索引和链接9、通常对文件系统来说,文件名及属性可以集中在()中以使查询。
java模拟试题及答案Java模拟试题及答案一、选择题(每题2分,共20分)1. 下列哪个关键字是Java中用于定义类的方法的?A. classB. publicC. staticD. void答案: B2. Java中的哪个类是所有Java类的根类?A. ObjectB. StringC. SystemD. Main答案: A3. 在Java中,以下哪个是正确的条件语句?A. if (x > y)B. if x > yC. if (x > y) {D. if (x > y)答案: A4. Java中的哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. package答案: B5. 下列哪个不是Java的访问修饰符?A. publicB. privateC. protectedD. global答案: D6. Java中,哪个关键字用于实现多态?A. extendsB. implementsC. newD. abstract答案: A7. 在Java中,哪个关键字用于定义一个类为抽象类?A. abstractB. finalC. staticD. void答案: A8. Java中,哪个关键字用于定义一个类为最终类,不能被继承?A. abstractB. finalC. staticD. strictfp答案: B9. 下列哪个是Java中的集合框架?A. AWTB. SwingC. JDBCD. Collections答案: D10. Java中,哪个关键字用于实现异常处理?A. tryB. catchC. finallyD. All of the above答案: D二、简答题(每题5分,共20分)1. 简述Java的垃圾回收机制。
答案: Java的垃圾回收机制是一种自动内存管理功能,用于识别和回收不再使用的对象,从而释放内存。
1. 1. Java语言的主要类库不包含以下的哪一个?()A. ngB. java.ioC. D. e答题: A. B. C. D.参考答案:D问题解析:2. 2. 关于Java类库的用途以下的说法哪个是不正确的?( )A. ng是核心类库,包含了运行Java程序必不可少的系统类。
B. java.awt包含一些实用工具。
C. java.sql含有数据库连接类。
D. java.rmi含有远程方法调用,分布式对象类。
答题: A. B. C. D.参考答案:B问题解析:3. 3. Java的每个语句以下面哪个符号作为结束符?( )A.?B. ,C. .D. #答题: A. B. C. D.参考答案:A问题解析:4. 4. Java的每个语句以下面哪个符号作为类的开始符号?( )A.?B. {C. //D. #答题: A. B. C. D.参考答案:B问题解析:5. 5. Java语言用以下面哪个关键字作为类的标识?( )A.?mportB. classC. publicD. new答题: A. B. C. D.参考答案:B问题解析:6. 6. 下面说法不正确的是?( )A. Applet程序不需要main方法。
B. Applet程序不能独立运行。
C. Applet程序不提供对播放声音的支持。
D. Applet程序只能和提供它的服务器进行通讯。
答题: A. B. C. D.参考答案:C问题解析:7. 7. 用8. 8. JDK中EXE文件的用途说明中正确的是?( )A. java.exe用于编译java源程序。
B. javac.exe用于解释applet。
C. jdb.exe用于调试java程序。
D. javap.exe用于生成文档。
答题: A. B. C. D.参考答案:C问题解析:9. 9. 运行程序helloworld.class使用的DOS命令是?() a) java helloworld.class b) java helloworld c) javac hell oworld.class d) javac helloworld答题: A. B. C. D.参考答案:B问题解析:10. 10. 编译程序test.java的操作是?( )。
《Java语言程序设计》模拟试题(一)一、单选题(1分/题,共20题)题号 1 2 3 4 5 6 7 8 9 10 答案 B A D A B C C B A A 题号11 12 13 14 15 16 17 18 19 20 答案 C A C D D D A A A A1.以下语句中,共有错误____处public class Hello{public void main(String[] args){System.out.println(‘Welcome to Java’);}}A. 1处B. 2处C. 3处D. 4处2.下列关于类方法、实例方法、类变量、实例变量的说法中,正确的是A. 类方法可以调用类方法B. 类方法不能访问类变量C. 类方法可以调用实例方法D. 实例方法可以访问类变量3.导致程序运行时出现NoClassDefoundError错误的原因可能是A. javap.exe不存在B. 被访问的类中没有main方法C. 运行程序的命令行中没传递参数D. 环境变量设置错误4.关于以下两个Java语句的说法中,正确的是语句①:import java.util.Scanner;语句②:import java.util.*;A. 语句②可以导入Scanner类B. 语句①和语句②的作用相同C. 语句①比语句②导入的类更多D. 语句①导入Scanner类及其子类5.Java中所有类的基类是A. Class类B. Object类C. Thread类D. System类6.在Java语言中,能实现多重继承的方式是A. 抽象类B. 匿名类C. 接口D. 泛型类7.下列表达式的值为true的是A. 3>3B. a<5C. ‘a’==‘a’D. x!=‘x’8.要得到某个文件夹下的所有文件名,下列代码应该填写File dir = new File(args[0]);String[] filename = dir.__________();A. mkdir()B. listC. listFilesD. getName9.下列不能作为类成员的访问控制符的是A. staticB. protectedC. publicD. private10.下列关于构造方法的说法中正确的是A. 子类可以调用父类的构造方法B. 构造方法不能重载C. 构造方法返回类型为intD. 构造方法是一种实例方法11.为了区分重载方法,Java语言要求A. 使用不同的访问权限B. 使用不同的参数名C. 采用不同的形参列表D. 返回的数据类型必须不同12.Java多线程程序中,通过集成Thread类的方式创建线程,则需要重写的方法是A. run()B. sleep()C. start()D. Thread()13.以下Java类定义的横线上应为___________ class Example{private int parametera, parameterb;public abstract double compute(int parametera, int parameter);}A. publicB. privateC. abstractD. final14.已知MySQL数据库message中的表courses的字段为ID、Title、Content、SubmissionTime. 要仅列出courses中Title为“关于期末考试的建议”的记录中字段Title、Content和SubmissionTime,应执行SQL语句A. select ID, Title from coursesB. select * from coursesC. select * from courses whrer Title=”关于期末考试的建议”D. select Title, Content, SubmissionTime from courses where Title=”关于期末考试的建议”15.所有异常类的父类是A. ng.ThrowableB. ng.ErrorC. ng.ThreadD. java.io.Exception16.类Circle实现了接口Compute,则一下语句中正确的是A. Compute compute = new Compute();B. Compute Circle();C. Circle circle = new Compute();D. Compute compute = new Circle();17.以下关于泛型的说法中,正确的是A. 泛型类中可以有多个泛型B. 泛型不能用于接口C. 泛型类实例化对象时不必指明泛型的具体类型D. 泛型可以是基本数据类型18.Java语言中,启动线程的方法是A. start()B. run()C. wait()D. sleep()19.下列Java程序的执行结果是class Example{public static void main(String[] args){int a[]={1,2,3,4,5,6,7,8,9};for(int i=0;i<a.length;i++)System.out.print(a[i]+a[a.length-1]+” ”);System.out.println();}}A. 10 10 10 10 10B. 10C. 1 2 3 4 5 6 7 8 9D. 4520.以下Java程序的执行结果是class Example implements B{public static void main(String[] args){int I;Example example = new Example();I=example.k;System.out.println(i);}}interface B{int k=10;}A. 10B. falseC. 0D. true二、填空题(每空1分,共10分)1.在Java语言中,加号“+”的两种作用是:算数运算符和连接符。
华南理工大学Java语言程序设计课堂作业答案homework01 2011-02-21 13:59 1. 编写一个类(控制台), 输入你的名字, 回车后, 向屏幕输出信息\欢迎你, ***\类似字样 2. 使用命令行模式编译,执行该程序, 将class文件指定输出到class目录 3. 给类添加move(), turnLeft(), pickPeeper(), putPeeper() 等方法, 并在Main中调用显示相关信息 4. 给类和各方法添加注释, 并使用javadoc指令输出代码文档Homework01 1. 编写一个类(控制台), 输入你的名字, 回车后, 向屏幕输出信息\欢迎你, ***\类似字样; () 2. 使用命令行模式编译,执行该程序, 将class文件指定输出到class目录; (现class文件夹在D:/目录下,控制台命令输入:javac -d D:\\class ) 3. 给类添加move(), turnLeft(), pickPeeper(),putPeeper() 等方法, 并在Main中调用显示相关信息; 4. 给类和各方法添加注释, 并使用javadoc指令输出代码文档. (现新建doc文件夹在D:\\下以存储文档,控制台输入:javadoc -d D:\\doc ) homework02 2011-02-27 22:32 修路工: 请使用分附件中的空白项目,装载sample03_holes_ 背景,修缮1st Street。
/* * File: * -------------------------- * The SampleKarel subclass as it appears here does nothing. */ import *; /* * Name: * Section Leader: */ public class SampleKarel extends SuperKarel {int count = 0; public void run() { // You fill in this part while(count } if (frontIsBlocked() || rightIsClear()) { changeDirection(); } move(); public void changeDirection() {if (rightIsClear()){ turnRight(); } else { if (leftIsBlocked()) {} } if (rightIsBlocked()) { turnRight(); turnRight(); } turnRight(); if (rightIsBlocked()) { turnLeft(); } } public static void main(String args) { String newArgs = new String[ + 1]; (args, 0, newArgs, 0, ); public void judgeAndPick() {} if (beepersPresent()) { pickBeeper(); } count++; }} newArgs = \ public String className() { return ()[1].getCanonicalName(); } }.clas sName(); (newArgs); homework03 2011-03-07 16:07 使用之前的空白项目,装载*collect* .w 背景,收集全部的Beeper. /* * File: * -------------------------- * The SampleKarel subclass as it appears here does nothing. */ import *; public class CollectAllBeepers extendsSuperKarel { /** * Through the maze* @author 黄泽津*/ public void run() {collect(); while(frontIsBlocked()&&!leftIsBlocked() ){if(facingEast()) { turnLeft();move(); turnLeft(); collect(); } if(facingWest()) {turnRight(); move(); turnRight(); collect(); }} } private void collect() {while(beepersPresent()){pick Beeper();} if(frontIsBlocked()) {return;} else move();collect();} public static void main(String args) { String newArgs = new String[ + 1]; (args, 0, newArgs, 0, ); newArgs = \public String className() { return ()[1].getCanonicalName();} }.className(); (newArgs);} }homework04 迷宫收集2011-03-13 21:47 创建迷宫world并放置一定的Beeper,装载该World后,收集全部的Beeper, 发送时请携带该world地图int count = 0; public void run() { //You fill in this part while(count judgeAndPick(); if (frontIsBlocked() || rightIsClear()) { changeDirection(); } move(); }public void changeDirection() {if (rightIsClear()) { turnRight(); } else { if (leftIsBlocked()) { turnLeft(); } } turnLeft(); }public void judgeAndPick() {} if (beepersPresent()) { pickBeeper(); count++; } homework05 迷宫收集2011-03-26 21:54 1. 从文件中构造二维世界, 文件为文本模式文件, 字符’0’ ‘1’组成 2. 构造该世界最下方地平面处的路面曲线, 以简单直观的方式在文本中打印, 路面可用’*’表示3. 可将Ship, Person的行进路线以以简单直观的方式在各自独立的文本中打印, 行进路线可用’*’表示/** * */ package map; import *; import *; /** * @author guhonglueying * */ // map 生成方法之从文件中读取public class FileMap extends SubMap {} catch (IOException e) { (); } charArr = new char[()]; for (int i = - 1; i > -1; i--) { } charArr[i] = (); try {FileReader fr = new FileReader(s[0]); BufferedReader bw = new BufferedReader(fr); while ((str = ()) != null) { (()); } // 重写父类create方法,用于从文件中读取新地图public void create(String... s) { String str = null; Stack stk= new Stack(); } } /** * */ package map; /** * @author guhonglueying * */ // map生成方法之程序中定义map public class SimpleMap extends SubMap { // 重写父类create方法,用来从程序中创建新地图} /** * */ package map; } charArr = new char {{ ‘0’, ‘0’, ‘1’, ‘1’, ‘1’, ‘0’, ‘0’, ‘0’ }, { ‘1’, ‘0’, ‘0’, ‘0’, ‘0’, ‘0’, ‘1’, ‘0’ },}; { ‘0’, ‘0’, ‘0’, ‘1’, ‘1’, ‘0’, ‘1’, ‘0’ }, { ‘0’, ‘1’, ‘0’, ‘0’, ‘0’, ‘0’, ‘0’, ‘0’ }, { ‘0’, ‘1’, ‘0’, ‘1’, ‘0’, ‘1’, ‘0’, ‘0’ }, { ‘0’, ‘0’, ‘0’, ‘1’, ‘0’, ‘0’, ‘0’, ‘1’ }, { ‘1’, ‘1’, ‘0’, ‘0’, ‘0’, ‘1’, ‘0’, ‘1’ }, { ‘1’, ‘1’, ‘1’, ‘1’, ‘1’, ‘1’, ‘0’, ‘0’ } public void create(String... s) { /** * @author guhonglueying * */ // 生成map的抽象类,用来定义map的一些public属性和方法public abstract class SubMap {} /** * */package map; public void setCol(int col) { } = col; int row; int col; char charArr; public void setRow(int row) { = row; } public int getRow() { return row; } public int getCol() { } return col; // 抽象方法,在子类中实现新地图生成的不同实现public abstract void create(String... s); public char getMap() {} = ; = charArr[0].length; return charArr; import *; import *; /** * @author guhonglueying * */ // map生成方法之从标准输入流获取public class SystemInMap extends SubMap {InputStreamReader isr = new InputStreamReader(); BufferedReader bw = new BufferedReader(isr);(\请用以下字符输入一方形地图:\\n1-墙,0-路,@-入口,#-出口\\n每次输入一行回车,输入E结束\} } while ((str = ()) != null) { if ((\ }break; } (()); // 重写父类create方法,用于从命令操作符中读取新地图public void create(String... s) {String str = null; Stack stk = new Stack(); try { } catch (IOException e) { (); } charArr = new char[()]; for (int i = - 1; i > -1; i--) { charArr[i] = (); } /** * */ package objectmovable; import util.*; /** * @author guhonglueying * */ // 实现person的走迷宫过程public class Person extends SubObjectMovable {} public void Maze(char ch) { (\ } h = new Helper(ch); (); (, 2); /** * */ package objectmovable; import util.*; /** * @author guhonglueying * */ // 实现ship的走迷宫过程public class Ship extends SubObjectMovable {public void Maze(char ch) { (\/** * */ package util; /** * @author guhonglueying * */ public class Node {public Node(int x, int y) { = x; = y; } public int getX() { } return x; private int x; private int y; public Node() { } public void setX(int x) { = x; } public int getY() { return y; } public void setY(int y) { } public boolean equals(Object o) { if (!(o instanceof Node)) = y; } } return false; Node n = (Node) o; return == x && == y; public String toString() { } return x + \ /** * */ package test; import map.*; import objectmovable.*; /** * @author guhonglueying * */ public class TestMaze {/** *@param args */ // 主函数,程序入口public static void main(String args) {} //多态实现:三种方式创建迷宫SubMap sm = new SimpleMap(); (); char c = (); //多态实现不同物体的走迷宫过程SubObjectMovable iom = new Ship(); (c); } homework07 文件处理2011-04-08 22:19 1. 读文件, 添加或去掉行号后写回 2. 统计一个文件中的词个数(请注意中文) package sample; import *; public class AddRowNum {// // // // // // // // // // (\(\(\(\(\(\(\(\return; try { /** 开启两个文件, 分别读写*/ BufferedReader reader = new BufferedReader(new FileReader(\ BufferedWriter writer = new BufferedWriter( new FileWriter(\/** 首先取得总行数, 然后逐行添加写回*/ int nRowNum = 0; String strOneLine = null; while (() != null) { }nRowNum++; public static void main(String args) { (); String formator = (\nRowNum = 0; reader = new BufferedReader( new FileReader(\while ((strOneLine = ()) != null) { ((\ %s\\n\++nRowNum, strOneLine)); }} package sample; import *; public class CountWords {public static void main(String args) {String fileName = \try {BufferedReader reader = new BufferedReader(newFileReader(fileName)); int NumberCount = 0; int LetterCount = 0; int ChineseCharacterCount = 0; int a = -1; } (new File(\ (); (); new File(\new File(\} catch (FileNotFoundException e) { (\找不到指定文件\} catch (IOException e) { (\文件读写错误\} Character c; while ((a = ()) != -1){ c = (char) a; if ((c)) { NumberCount++;} else if (‘\一’ ChineseCharacterCount++; } else if ((c)) { LetterCount++; } } (); (\文件\共包含:(\数字:\字母:\ + LetterCount + \汉字:\/** 林启敏*/ (); reader = new BufferedReader(new FileReader(\boolean isWordStart = false; int count = 0; char oneChar = new char[1]; while ((oneChar) != -1) { if (oneChar[0] == ‘.’} } || oneChar[0] == ‘,’ || oneChar[0] == ‘ ‘) { if(isWordStart) { } isWordStart = false; count++; \ else { } isWordStart = true; (\} catch (FileNotFoundException e) { (\找不到指定文件\} catch (IOException e) {} } } (\文件读写错误\homework08 html 2011-04-11 16:24 1. 使用Html实现登录页面, 需提供身份证号码, Email等相关信息 2. 在提交时, 使用JavaScript 做校验, 如果失败, 则提示注册者. 用户注册页面用户注册页面注册成功页面.oneColFixCtrHdr #container { width: 780px; background: #FFFFFF; margin: 0 auto; border: 1px solid #000000; text-align: left; } .oneColFixCtrHdr #header { background: #DDDDDD; padding: 0 10px 0 20px; } .oneColFixCtrHdr #header h1 { margin: 0; padding: 10px 0; } .oneColFixCtrHdr #mainContent { padding: 0 20px; background: #FFFFFF; font-weight: bold;} .oneColFixCtrHdr #footer { padding: 0 10px; background:#DDDDDD; } .oneColFixCtrHdr #footer p { margin: 0; padding: 10px 0; } --> 注册成功!下面自动转入首页...... homework09 Swing 2011-04-17 22:26 1. 使用Swing实现之前Html登录页面, 需提供身份证号码, Email等相关信息 2. 同样在提交时, 程序内部做校验, 失败则提示下相关信息. package homework09; import *; import *; import *; import *; import *; public class LoginWindow { public static void main(String args) {LoginFrame login = new LoginFrame();(\用户注册界面\(480,360); (null); (_ON_CLOSE);(true); } } class LoginFrame extends JFrame { public LoginFrame() { Font defaultFont = new Font(\微软雅黑\ Container loginCon = getContentPane(); LoginPanel panel = new LoginPanel(); TitledBorder inputPanelBorder = newTitledBorder(\基本资料\(defaultFont); (inputPanelBorder);(panel); } } class LoginPanel extends JPanel { JTextField nameField,phoneField,emailField,idCardFi eld; JPasswordField passField,repassField; JButton submit,reset; public LoginPanel() { BorderLayout layout = new BorderLayout();setLayout(layout); nameField = new JTextField(10); (()); passField = new JPasswordField(8); (());repassField = new JPasswordField(8); (()); phoneField = new JTextField(12); (());emailField = new JTextField(14); (()); idCardField = new JTextField(12); (());submit = new JButton(\提交\reset = new JButton(\重置\ Box horizontalBox1 = ();Box horizontalBox2 = ();BoxhorizontalBox3 = ();Box horizontalBox4 = ();Box horizontalBox5 = ();Box horizontalBox6 = ();Box horizontalBox7 = ();((35)); (new JLabel(\用户名:\((12)); (nameField); ((10));(new JLabel(\长度为8至16\(new JLabel(\设置密码:\((12)); (passField); ((10));(new JLabel(\长度至少为6\((30)); (new JLabel(\重复密码:\((12)); (repassField); ((10));(new JLabel(\两次输入必须一致\ ((60));(new JLabel(\电话号码:\ ((12));(phoneField);((10)); (new JLabel(\座机或电话号码\(new JLabel(\邮箱地址:\((12));(emailField); ((20));(new JLabel(\身份证信息:\((12));(idCardField);((52)); (submit); ((20)); (reset); Box verticalBox = (); (horizontalBox1); ((14)); (horizontalBox2); ((14)); (horizontalBox3); ((14)); (horizontalBox4); ((14)); (horizontalBox5); ((14)); (horizontalBox6); ((18)); (horizontalBox7);add(verticalBox);(new ActionListener() {public void actionPerformed(ActionEvent e) {submit(); } }); (new ActionListener() {public void actionPerformed(ActionEvent e) {} reset(); } }); void submit() { String phoneRe = \ String emailRe = \String idCardRe = \\Pattern phonePat = (phoneRe); Pattern emailPat = (emailRe); Pattern idCardPat = (idCardRe); Matcher phoneMat = (()); MatcheremailMat = (()); Matcher idCardMat = (()); String error = \ if(().equals(\ error = \用户名不能为空!\} else if(().length()16) { error = \用户名长度不符合要求!\} else if(().equals(\ error = \密码不能为空!\} else if(().length()else if(!().equals(())) { error = \两次输入的密码不一致!\} else if(().equals(\ error = \电话号码不能为空!\} else if(!()) { error = \电话号码格式不正确!\} else if(().equals(\ error = \邮箱地址不能为空!\} else if(!()) { error = \邮件地址格式不正确!\} else if(().equals(\ error = \身份证信息不能为空!\} else if(!()) { error =\身份证格式不正确!\}} if((\ } else (null, error, \消息提示\ _MESSAGE); (null, \注册成功!\消息提示\ _MESSAGE); reset(); void reset() {} } homework10 container 2011-04-24 22:461. 使用数组构建栈Stack(FILO) (null); (null); (null); (null); (null); (null);2. 对比Java提供的Stack, 两者有啥区别3. 使用Stack栈实现\行编辑器\设立一个输入行冲区, 接受用户逐行的输入, 处理后回显正确的信息逐行处理过程如下: 有两个特殊字符用来修改该行的错误信息, ‘#’表示之前一个字符错误, 请删除, ‘@’表示之前字符全部错误, 请删除前面的全部示例: whli##ilr#e(s#*s) -> while(*s) outcha@putchar(*s=#++); -> putchar(*s++); package mystack; /** * @author 电子商务一班俞国峰200930671251 */ public class MyStack {//currentSize用来记录当前栈中元素个数private int currentSize; private Object Mylist; //构造函数,创建空栈public MyStack(){ Mylist = new Object[10]; currentSize = 0; } //当数组长度不够时,增加数组长度public void enLargeSize() {} Object tempList = new Object[ * 2]; (Mylist, 0, tempList, 0, ); Mylist = tempList; //判断栈是否为空public boolean empty() { } return currentSize == 0; //入栈public void push(Object o) { if (currentSize >= ) { enLargeSize(); }} //出栈,返回栈顶元素public Object pop() {} //获取栈顶元素public Object peek() { if (currentSize == 0) {} } return null; if (currentSize == 0) { return null; } currentSize--; if (currentSize + 1 >= ) { enLargeSize(); } return Mylist[currentSize + 1]; Mylist[currentSize] = new Object(); Mylist[currentSize] = o; currentSize++;return Mylist[currentSize - 1]; //获取栈大小,返回栈中元素个数public int getSize() { } return currentSize; //清空栈public void clearAll() { } //重载toString(),以字符串形式返回栈中元素@Override public String toString() { Mylist = new Object[10]; currentSize = 0; } } String tempString = \for (int i = 0; i return tempString; package mystack; /** * @author 电子商务一班俞国峰200930671251 */ import *; public class testMyStack {public static void main(String args) {MyStack msk = new MyStack(); Scanner sc = new Scanner(); String input = \(\ \\nYou may enter in: enter ‘exit’ or ‘EXIT’ to exit!\ (\example: outcha@putchar(*s=#++);\(\ while (!(input =()).equalsIgnoreCase(\ char charr = (); (\for (int i = 0; i (charr[i]); switch (charr[i]) { case ‘#’:(); break; case ‘@’: (); break; } } } } } default : (charr[i]); break; (\(\ homework11 多线程和网络通信2011-05-07 21:59 1. 实现UDP模式的客户端和服务器端通信 2. 使用两个线程: 一个线程负责发送消息, 一个线程负责收取并发送消息,两线程间使用LinkedList共享数据package _yu_guo_feng; /* * @author 电子商务一班俞国峰200930671251 * * 功能:c/s结构,实现基于UDP的聊天功能* 说明:先开启服务器,再接入客户端* 未完善:服务器多开异常处理,下线提醒*/ import *; import *; import *; import *; import *; import *; public class Server extends JFrame {privatestatic final long serialVersionUID = 3497147855119919874L; private JTextArea jta; //保存当前用户private LinkedList sclient; private DatagramSocket socket; private DatagramPacket sendPacket, recevicedPacket; private byte buf; //日期处理private SimpleDateFormat sdf; public static void main(String args) { } new Server(); public Server() { String introduction QQ 730= 寝室版\ + \欢迎使用腾讯=================\\n\ + \+ \使用说明:\\n\+ \运行服务器\\n\+ \接入客户端(可接入多个)\\n\+ \功能:上线提醒、群聊和私聊\\n\ + \作者:电子商务一班——俞国峰——200930671251========\\n\ + \ try { socket = new DatagramSocket(8888); } catch (SocketException e) { ();jta =new JTextArea(introduction); ((new ImageIcon(\(\腾讯QQ 730寝室版——服务器\(jta, ); (400, 300); (false); (_ON_CLOSE); (null); (true); sclient = new LinkedList(); //指定时间表示模式sdf = new SimpleDateFormat(\。
计算机二级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。
二、填空题
1、java的private、static和final方法都是静态绑定,其他都是
动态绑定,后者是java具有多态特性的必要条件。
2、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。
3、java中的动态绑定机制是java具有多态特性的必要条件。
4、“先进后出”的容器是堆栈。
5、不能有构造器定义的内部类是匿名内部类。
6、System.out.println("Sum: " + 100 + 20)这个语句输出结果是 Sum:10020 ;System.out.println("Sum: " + (100 + 20))这个语句输出结果是 Sum:120 。
7、如果一个类中的构造器要调用类中的另一个构造器,要用到 super 关键字。
8、JDK中的编译和运行命令分别是 javac 和
java 。
9、“后进先出”的容器是堆栈。
10、Java源程序文件编译后将产生相应的字节码文件,这些字节码文件的扩展
名为 class 。
11、如果要导入java/util下面的所有类,Java源文件中,必须要包含下面导入语句: import java/util.* ,如果要导入
java/util/concurrent下面的所有类, 必须要包含下面导入语句:
import/util/concurrent.* 。
12、Java定义了两种类型的流:字节流和字符流。
13、创建一个名为puter.mypackage 的包的语句是 package puter.mypackage 。
14、“javac Internet.java”输出结果的文件名是
Internet.class ,要运行输出文件的命令是 java
Internet 。
15、抽象方法方法是一种仅有方法头,没有具体方法体和
操作实现的方法,该方法必须在抽象类之中定义。
final 方
法是不能被当前类的子类重新定义的方法。
16、如果一个类要实现一个接口,则要用到 implements 关键字。
17、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是 120 。
int s = 0 ;
for ( int i = 0 ; i < MyIntArray.length ; i + + )
if ( i % 2 = = 1 ) s += MyIntArray[i] ;
System.out.println( s );
18、Java定义了两种类型的流:字节流和字符流。
19、如果一个类中的构造器要调用类中的另一个构造器,要用到 super 关键字。
20、匿名内部类是一种不能有构造器的内部类。
21、下列程序段执行后,运行结果为 AB,B 。
public class Foo {
public static void main (String [] args) {
StringBuffer a = new StringBuffer (“A”);
StringBuffer b = new StringBuffer (“B”);
operate(a,b);
System.out.printIn(a + “,” +b);
}
static void operate (StringBuffer x, StringBuffer y) {
x.append(y);
y = x;
}
}。