中山大学java程序设计秋复习题资料.docx

上传人:b****5 文档编号:15172453 上传时间:2023-07-02 格式:DOCX 页数:12 大小:22.85KB
下载 相关 举报
中山大学java程序设计秋复习题资料.docx_第1页
第1页 / 共12页
中山大学java程序设计秋复习题资料.docx_第2页
第2页 / 共12页
中山大学java程序设计秋复习题资料.docx_第3页
第3页 / 共12页
中山大学java程序设计秋复习题资料.docx_第4页
第4页 / 共12页
中山大学java程序设计秋复习题资料.docx_第5页
第5页 / 共12页
中山大学java程序设计秋复习题资料.docx_第6页
第6页 / 共12页
中山大学java程序设计秋复习题资料.docx_第7页
第7页 / 共12页
中山大学java程序设计秋复习题资料.docx_第8页
第8页 / 共12页
中山大学java程序设计秋复习题资料.docx_第9页
第9页 / 共12页
中山大学java程序设计秋复习题资料.docx_第10页
第10页 / 共12页
中山大学java程序设计秋复习题资料.docx_第11页
第11页 / 共12页
中山大学java程序设计秋复习题资料.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

中山大学java程序设计秋复习题资料.docx

《中山大学java程序设计秋复习题资料.docx》由会员分享,可在线阅读,更多相关《中山大学java程序设计秋复习题资料.docx(12页珍藏版)》请在冰点文库上搜索。

中山大学java程序设计秋复习题资料.docx

中山大学java程序设计秋复习题资料

一.1以下哪条语句可以通过编译?

(b)

A.String#name="JaneDoe";B.int$age=24;

C.Double_height="123.5";D.double~temp=37.5;

一.2下列关于Java类的构造方法的说法中错误的是:

d

A.构造方法的名字必须与类的名字完全相同。

B.构造方法没有返回值也不能用void修饰。

C.父类的构造方法不能被子类继承。

D.构造方法必须用public访问控制符修饰。

一.3给出如下代码:

b

classTest{

privateintm;

publicstaticvoidfun(){/*somecode...*/}

}

如何使成员变量m被函数fun()直接访问?

A.将privateintm改为protectedintm

B.将privateintm改为publicintm

C.将privateintm改为staticintm

D.将privateintm改为intm

一.4下面哪个函数是publicvoidexample(){...}的重载函数?

b

A.publicvoidexample(){...}

B.publicintexample(){...}

C.publicvoidexample2(){...}

D.publicintexample(intm,floatf){...}

一.5在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序的特性称为(c)。

A.隐藏B.覆盖

C.重载D.Java不支持此特性

以下程序的输出结果是()

publicclassTest{

publicstaticvoidmain(String[]args){

intx=5;

booleanb1=true;

booleanb2=false;

if((x==4)&&!

b2)

System.out.print("l");

System.out.print("2");

if((b2=true)&&b1)//若是改成if((b2==true)&&b1)则只输出2

System.out.print("3");

}

}

A.2B.3

C.12D.23

一.6关于异常处理下列说法中正确的是:

B

A.Java系统中所有异常都需要捕获处理。

B.catch子句是通过类型匹配来捕获异常对象的。

C.try-catch-finally结构处理完异常后结束程序的运行。

D.异常是一种错误,所以在程序中应该完全避免异常的出现。

一.7下列关于对象类型转换的说法中正确的是:

A.某类的对象引用只能指向它的直接子类的对象。

B.不存在祖先与后代关系的两个类的对象之间一定不能进行类型转换。

C.后代类的对象引用能指向其祖先类的对象。

D.对象类型转换只有强制转换而没有自动转换。

一.8类Teacher和Student是类Person的子类,则B

Personp;Teachert;Students;//设p,t和s都是非null引用

if(tinstanceofPerson)

s=(Student)t;

关于最后一条语句的正确说法是:

A.将构造一个Student对象。

B.类型转换正确。

C.表达式是错误的。

D.编译时正确,但运行时错误。

一.9根据下面代码,找出正确的选项。

D

publicclassTest{

staticObjecto;

publicstaticvoidmain(Stringargs[]){

System.out.println(o);

}

}

A.编译时将产生错误。

B.编译时正确,运行时将产生错误。

C.程序输出零。

D.程序输出null。

关于类Foo的以下说法中正确的是()

A

classFoo{

staticvoidalpha(){/*morecodehere*/}

voidbeta(){/*morecodehere*/}

}

A.在alpha()中可以直接调用beta();

B.在beta()中可以直接调用alpha();

C.在其中任一个方法中均可以直接调用另一个方法

D.在其中任一个方法中均不可以直接调用另一个方法

一.10关于下面数组定义的正确说法是?

D

String[][]s=newString[10][];

A.数组s定义不合语法B.s是10×10的2维数组

C.s数组的所有元素都是""D.s是10个数组的数组

一.11下列程序的正确输出是。

A

publicstaticvoidmain(String[]args){

Scannerscanner=newScanner("thisisonethatistwo");

scanner.useDelimiter("is");

while(scanner.hasNext()){

System.out.print(scanner.next());

}

}

A.thisonethattwoB.thonethattwo

C.thonethattwoD.thisisonethatistwo

改错题(20分)

说明:

写出每段代码的错误原因并改正错误,每小题4分,说明原因和改正各2分。

1.classFirst{}

importjava.io.*;

packagemypackage;

classSecond{}

2.classA{

Stringname;

publicA(Strings){

name=s;

}

}

classBextendsA{

intid;

publicB(inti){

id=i;

}

}

3.publicclassBextendsA{

finalvoidincrease(){

value+=2;

}

}

classA{

intvalue=0;

finalvoidincrease(){

value+=1;

}

}

一、程序阅读题(20分)

说明:

阅读下面程序并写出它们的输出结果,每小题5分。

1.程序如下:

classBase{

publicBase(){

System.out.println("Whatapleasure!

");

}

publicBase(Strings){

this();//调用上面的publicBase()

System.out.println("Iam"+s+"!

");

}

}

publicclassChildextendsBase{

publicstaticvoidmain(Stringargs[]){

Childt=newChild("Mike");

}

publicChild(Strings){

super(s);

System.out.println("Howdoyoudo?

");

}

publicChild(){

this("IamTom");

}

}

E:

\shiyan\others>java

Whatapleasure!

IamMike!

Howdoyoudo?

 

2.程序如下:

classDivTest{

publicstaticvoidmain(String[]args){

intr,n,d;

n=10;d=0;

try{

r=n/d;

System.out.println("r="+r);

}catch(ArithmeticExceptione){

System.out.println("发生除数为0的异常!

");

}finally{

System.out.println("除法运算完毕!

");

}

System.out.println("程序运行结束!

");

}

}

二、应用设计题(6分)

下面是某公司人事管理系统进行分析过程中发现的部分类,请找出它们之间的关系,用UML的类图描述:

雇员、固定雇员、临时雇员、经理、促销员(临时)

三、程序设计题(24分)

说明:

按照题目要求编写下面两段程序。

1.编写一个完整的JavaApplication程序。

包含类Person、Student、TestStudent,具体要求如下:

(14分)

⑴ 类Person:

① 属性

name:

String对象,表示一个人姓名

sex:

char类型,用来表示性别

id:

String对象,表示身份证号

phone:

String对象,表示联系电话

email:

String对象,表示E-mail地址

② 方法

Person(Stringname,charsex,Stringid):

构造函数

StringgetId():

获取身份证号

voidsetEmail(Stringemail):

设置E-mail地址

voidsetPhone(Stringphone):

设置联系电话

StringtoString():

返回个人的各项信息,包括姓名、性别等上述属性

⑵ 类Student:

从Person类派生,增加了以下属性和方法:

① 属性

sNo:

long类型,表示学生的学号

sClass:

String对象,表示学生的班级

② 方法

Student(longsNo,Stringname,charsex,Stringid):

构造函数

setClass(StringsClass):

设置学生的班级信息

StringtoString():

返回学生的各项信息,包括学号、班级、姓名等上述属性

⑶ 类TestStudent作为主类要完成测试功能

① 用以下信息生成一个Student对象aStudent

姓名:

杨过

性别:

身份证号:

22033198807070333

学号:

2004002

② 设置E-mail:

yangguo@

设置联系电话:

88078549

③ 输出对象aStudent的各项信息

 

publicclasstestStudent{

publicstaticvoidmain(String[]x){

Studentastudent=newStudent(2004002,"杨过",'男',"22033198807070333");

astudent.setEmail("yangguo@");

astudent.setphone("88078549");

Stringinfo=astudent.toString();

System.out.println(info);

}

}

/*********************************/

classPerson{

Stringname;

charsex;

Stringid;

Stringphone;

Stringemail;

Person(Stringname,charsex,Stringid){

this.name=name;

this.sex=sex;

this.id=id;

}

publicStringgetID(){

returnid;

}

publicvoidsetEmail(Stringemail){

this.email=email;

}

publicvoidsetphone(Stringphone){

this.phone=phone;

}

publicStringtoString(){

return"这个人的信息:

\n"+name+","+sex+","+id+","+phone+","+email;

}

}

/************************************/

classStudentextendsPerson{

longsNO;

StringsClass;

publicStudent(longsNo,Stringname,charsex,Stringid){

super(name,sex,id);//注意这里

this.sNO=sNO;

}

publicvoidsetClass(StringsClass){

this.sClass=sClass;

}

publicStringtoString(){

return"这个学生的信息:

\n\n姓名"+name+"\n性别"+sex+"\n身份证"+id+"\n电话号码"+phone+"\n邮箱"+email;

}

}

求多个圆形面积之和。

(10分)

具体要求如下:

⑴定义一个名为Shape的接口,其中声明一个返回值为double的无参方法getArea()。

⑵定义一个圆形(Circle)类实现上面的Shape接口,有一个double类型的属性半径(radius)和两个构造方法。

其中,一个无参构造方法设置半径为0,另外一个有参构造方法根据参数设置半径,如果参数小于0则强制设置为0。

⑶编写一个类Test,在里面编写main方法,将数组{"12","123","1ab",""}中的值转换为double类型作为半径,创建相应个数的圆。

在类型转换的过程中需作相应的异常处理,如果转换出错,提示并使用无参构造方法创建圆。

最后计算所有圆的面积之和并输出。

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

当前位置:首页 > 医药卫生 > 基础医学

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

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