传智播客Java基础综合测试题.docx

上传人:b****0 文档编号:17536409 上传时间:2023-07-26 格式:DOCX 页数:17 大小:20KB
下载 相关 举报
传智播客Java基础综合测试题.docx_第1页
第1页 / 共17页
传智播客Java基础综合测试题.docx_第2页
第2页 / 共17页
传智播客Java基础综合测试题.docx_第3页
第3页 / 共17页
传智播客Java基础综合测试题.docx_第4页
第4页 / 共17页
传智播客Java基础综合测试题.docx_第5页
第5页 / 共17页
传智播客Java基础综合测试题.docx_第6页
第6页 / 共17页
传智播客Java基础综合测试题.docx_第7页
第7页 / 共17页
传智播客Java基础综合测试题.docx_第8页
第8页 / 共17页
传智播客Java基础综合测试题.docx_第9页
第9页 / 共17页
传智播客Java基础综合测试题.docx_第10页
第10页 / 共17页
传智播客Java基础综合测试题.docx_第11页
第11页 / 共17页
传智播客Java基础综合测试题.docx_第12页
第12页 / 共17页
传智播客Java基础综合测试题.docx_第13页
第13页 / 共17页
传智播客Java基础综合测试题.docx_第14页
第14页 / 共17页
传智播客Java基础综合测试题.docx_第15页
第15页 / 共17页
传智播客Java基础综合测试题.docx_第16页
第16页 / 共17页
传智播客Java基础综合测试题.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

传智播客Java基础综合测试题.docx

《传智播客Java基础综合测试题.docx》由会员分享,可在线阅读,更多相关《传智播客Java基础综合测试题.docx(17页珍藏版)》请在冰点文库上搜索。

传智播客Java基础综合测试题.docx

传智播客Java基础综合测试题

 

传智播客Java基础综合测试题

 

第一关

1.动手完成Java开发包的安装,并设置环境变量Path。

2.编写一个程序,要求程序运行后在屏幕上输出:

***************************

Thisismyfirstjavaprogram!

***************************

3.编写一个程序,该程序从命令行接收4个参数,并将接收的4个参数打印输出到屏幕。

 

第二关

1.指出下列哪些变量名称是不合法的?

tomSalary,float,1people,people1,price_per_m,price-per_m,$root,@test

2、写出intmin=x>y?

y:

x的等价if语句。

If(x>y){min=y}elsemin=x;

3、利用javaAPI帮助文档,找到一个可以将给定的字符串转化为小写的方法。

String

toLowerCase()

 

4、打印出成绩等级,如果成绩大于等于90分,输出“优秀”,如果成绩大于等于80分,输出“良好”,如果大于等于70分,输出“中等”,如果大于等于60分,输出“及格”,其它输出“不及格”。

5、用冒泡和选择两种方式对数组进行排序。

第三关

1、选择题

(1)程序TestSketch.java代码如下,4个选项中正确的描述是()

ClassA

{

}

ClassBextendsA

{

}

PublicclassTestSketch

{

Publicstaticvoidmian(String[]args)

{

Aa=newA();

Bb=(B)a;

}

}

A.通过编译并正常运行

B.编译时出现异常

C.编译通过,运行时出现异常

D.编译器报告找不到TestSketch.java

(2)下面有关类Demo的描述正确的有()

PublicclassDemoextendsBase

{

Privateintcount;

PublicDemo()

{

System.out.println(“ADemoobjecthasbeencreated”);

}

Protectedvoidassone()

{

Count++;

}

}

A.当创建一个Demo类的实例对象时,count的值为0

B.当创建一个Demo类的实例对象时,count的值是不确定的

C.Base类型的对象中可以包含改变count值的方法

D.Demo的子类对象可以访问count

3)阅读下面的程序,正确的选项为()

Classperson

{

Stringname;

Stringnickname;

Publicperson(Strings,Stringt)

{

name=s;

nickName=t;

}

PublicStringtoString()

{

returnname+“nickname=“+nickName;

}

}

publicclassTeacherextendsPerson

{

Stringrank;

PublicTeacher(Strings,Stringt,Stringr)

{

super(s,t);

rank=r;

}

publicStringtoString()

{

returnname+”nickname=”+nickName+”rank=”+rank;

}

publicstaticvoidmain(Stringargs[])

{

persona=newPerson(“Tom”,”Tiger”);

personb=newTeacher(“Jack”,”Horse”,”Professor”);

Teacherc=newTeacher(“Bobby”,”Elephant”,”Lecture”);

System.out.println(“ais“+a.toString());

System.out.println(“bis”+b.toString());

System.out.println(“cis”+c.toString());

}

}

•编译时会出现错误

•运行时会出现错误

•运行结果为:

aisTomnickname=Tiger

bisJacknickname=Horserank=Professor

cisBobbynickname=Elephantrank=Lecture

D.运行结果为:

aisTomenickname=Tiger

bisJacknickname=Horse

cisBobbynickname=Elephantrank=Lecturer

2.假如我们在开发一个系统时需要对员工进行建模,员工包含3个属性:

姓名、工号以及工资。

经理也是员工,除了含有员工的属性外,另为还有一个

奖金属性。

请使用继承的思想设计出员工类和经理类。

要求类中提供必要的方

法进行属性访问。

(从各个对象向上抽取的方式思考)

3、定义一个自己的数学类MyMath.类中提供静态方法max,该方法接受3个同

类型的参数(例如整型),返回其中的最大值。

Intsum=0;a,b,c

Max=((sum=a>b?

a:

b)>c)?

sum:

c;

classMyMath

{

publicstaticintmax(inta,intb,intc){

intmax=0;

if(a>b){

max=a;

}else

max=b;

if(max

max=c;

}

returnmax;

}

}

4、定义一个Car类,保证该类对象在内存中只存在一个。

写出例程。

classPerson

{

privateStringname;

privateintage;

privatestaticPersonp=newPerson("zhangsan",18);

privatePerson(Stringn,inta){

this.name=n;

this.age=a;

}

 

publicstaticPersongetPerson(){

returnp;

}

publicstaticStringgetName(Personp){

returnp.name;

}

publicstaticintgetAge(Personp){

returnp.age;

}

}

 

publicclassTestSketch{

publicstaticvoidmain(String[]args){

System.out.println(Person.getName(Person.getPerson()));

}

}

第四关

1、接口和抽象类的区别

2、选择题

(1).在使用interface声明一个接口时,可以使用()修饰符修饰该接口。

A.private

B.protected

C.privateorprotected

D.public

(2)虽然接口和抽象类不能创建对象,但它们的对象引用仍可指向该类型的对象。

这种说法()

A.正确

B.不正确

C.不能确定

D.接口和抽象类不能说明其对象引用

(3).接口中说明了一组公共的抽象方法,其中是否包含公共的静态方法?

答案是()

A.可以

B.不可以

C.不能肯定

D.因静态方法不能被改写,故不能出现在接口中

4)当我们说明一个类C实现一个接口I,下面说法()不正确

A.接口I是类C一个超类型

B.类C也实现了接口I的超接口

C.类C的子类也实现接口I

D.接口I类型的对象引用所指定的对象一定是类C或其子类的一个对象。

3.填空题

(1)我们可以通过______接口______,使得处于不同层次,甚至互不相关的类具

有相同的行为,然后由每个类分别去实现这些行为。

(2)接口声明的关键字是______________。

(3)在声明类的同时,我们可通过关键字__________________实现接口。

(4)使用类实现接口时,必须__________该接口的所有方法。

(6)创建包的关键字是:

____________。

(7)引入包grade的best类,可使用语句:

____________________________。

 

第五关

 

1.下面这种捕获异常的方式适当么?

说明理由

Try{

}catch(Exceptione){

..

}catch(FileNotFoundExceptiona){

}

2.编写程序,越界访问数组元素的下标,捕获并打印异常信息。

3.描述模板方法设计模式。

写出例程。

第六关

1.编写一个线程使得4个线程同时运行。

publicclassTest{

publicstaticvoidmain(String[]args){

Threadt1=newThread(newA());

Threadt2=newThread(newB());

Threadt3=newThread(newC());

Threadt4=newThread(newD());

t1.start();

t2.start();

t3.start();

t4.start();

}

}

classAimplementsRunnable{

publicvoidrun(){

for(inti=0;i<50;i++){

System.out.println("AisStarted");

}

}

}

classBimplementsRunnable{

publicvoidrun(){

for(inti=0;i<50;i++){

System.out.println("BisStarted");

}

}

}

classCimplementsRunnable{

publicvoidrun(){

for(inti=0;i<50;i++){

System.out.println("CisStarted");

}

}

}

classDimplementsRunnable{

publicvoidrun(){

for(inti=0;i<50;i++){

System.out.println("DisStarted");

}

}

}

2.请在程序中创建一个HashSet实例对象,并向这个对象中添加三个自定义的Student类的实例对象(Student类有两个属性,姓名和年龄)。

要求:

如果两个Student对象相当,即两个Student对象的姓名和年龄相等时,必须保证HashSet里面只能有一个对象。

importjava.util.*;

publicclassTest{

publicstaticvoidmain(String[]args){

HashSeths=newHashSet();

hs.add(newStudent("zhangsan",20));

hs.add(newStudent("lisi",20));

hs.add(newStudent("wangwu",30));

hs.add(newStudent("zhaoliu",25));

hs.add(newStudent("zhaoliu",25));

Iteratoriter=hs.iterator();

Studentstr=null;

while(iter.hasNext()){

str=(Student)iter.next();

System.out.println(str);

}

}

}

classStudent{

Stringname;

intage;

Student(Stringname,intage){

this.name=name;

this.age=age;

}

publicStringgetName(){

returnname;

}

publicintgetAge(){

returnage;

}

publicinthashCode(){

returnname.hashCode()+age*17;

}

publicbooleanequals(Objectobj){

Studentstu=(Student)obj;

returnthis.name.equals(stu.name)&&this.age==stu.age;

}

publicStringtoString(){

returnname+":

:

:

:

:

:

:

"+age;

}

}

3.请利用System.getProperties()方法,打印出java虚似机的环境信息。

4.简述ArrayList、Vecor、LinkedList之间的区别?

Collection和Map之间的区别?

HashSet和TreeSet之间的区别?

HashTable和HashMap之间的区别?

然后编程向HashSet中保存自定义的类(Student),并取出打印。

5.写一个程序,允许用户依次输入多个姓名和住址,并能将用户的输入保存到文

件中。

用户输入”quit”表示输入完毕,程序退出。

6.有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括姓名,三门课成绩),

计算出总成绩,并把学生的信息和计算出的总分数存放在磁盘文件"stud.txt"中。

第七关

1、写一个程序,允许用户依次输入多个姓名和住址,并能将用户的输入保存到文

件中。

用户输入”quit”表示输入完毕,程序退出。

2、File类型的对象既可以表示文件,也可以表示目录。

编写一个程序,当用户输入

一个文件或是目录信息后,该程序能够完成如下工作:

(1).判断该文件或目录是否存在

(2).如果不存在则给出出错信息

(3).如果存在,则给出其相对路径、绝对路径、文件长度

(4).如果存在并且是文件,则显示文件内容

(5).如果存在并且是目录,则显示目录内的所有文件名

importjava.io.*;

publicclassTest{

publicstaticvoidmain(String[]args){

Inputin=newInput();

in.dealInput();

}

}

classInput{

publicvoiddealInput(){

BufferedReaderbufr=

newBufferedReader(newInputStreamReader(System.in));

Strings=null;

try{

s=bufr.readLine();

}catch(IOExceptione){

e.printStackTrace();

}

if(s!

=null){

Filefile=newFile(s);

if(file.isFile()){

System.out.println("此文件的绝对路径是:

"+file.getAbsolutePath()+"\r\n"+

"相对路径是:

"+file.getPath()+"\r\n"+

"文件长度是:

"+file.length()+"KB");

try{

Stringline=null;

BufferedReaderbuf=

newBufferedReader(newInputStreamReader(newFileInputStream(s)));

BufferedWriterbufw=

newBufferedWriter(newOutputStreamWriter(System.out));

while((line=buf.readLine())!

=null){

bufw.write(line);

bufw.newLine();

bufw.flush();

}

buf.close();

bufw.close();

}catch(IOExceptione){

e.printStackTrace();

}

}elseif(file.isDirectory()){

String[]lists=file.list();

for(Stringstr:

lists){

System.out.println(str);

}

}elseif(s.equals("")){

System.out.println(s+"您输入了空串");

}

}else{

System.out.println("您的输入有误");

}

}

}

3、编写一个程序,在控制台接收数据,程序会让用户输入名字,并检查用户的输入:

不允许输入空名字。

一旦用户完成输入,程序会向该用户发出问候:

“Hello,你输入的名字。

4、请编写一个字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,

让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,

能够在读取的每行前面都加上有行号和冒号。

第八关

1.填空题

(1)我们使用包中有两个类___________和________________,分别用于

在客户机和服务器上创建Socket通信。

(2)我们可分别使用Socket的方法______________和_________________来创建

输入/输出流。

(3)在服务器端程序中,可使用ServerSocket对象的__________方法,接收来自

客户机程序的连接请求,待通信任务完毕后,用Socket对象的____________方法来

关闭通信Socket。

(4)我们可以通过_____________________类来建立数据报通信的Socket;用______________________类来创建数据报文包。

(5)我们可通过DatagramPacket类的方法____________从实例中取得报文的Byte

数组编码;而通过_____________来返回一个发送或接收此数据报包文的机器的IPXXX。

(6)我们可通过调用DatagramSocket对象的____________方法来完成接收数据报的工

作,通过调用DatagramSocket对象的____________方法实现发送数据报。

(7)待通信任务完毕后,用DatagramSocket对象的____________方法来关闭

数据报通信Socket。

 

2、利用Socket套接字进行面向连接通信的编程。

客户端发送文件;服务器端接收

并显示客户机XXX,然后返回信息“文件已收到”给客户端。

3、客户端输入并发送用户名;服务器端接收并显示其用户名,并检验它们的正确性,错则返回“对不起,你不是我们的用户。

”,对则返回“你好,欢迎光临”。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 学科竞赛

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2