武汉大学java期末考试试题和答案

……………………… 号…学……………线………………姓……………………封………班………………………………专…密…………………………编……《Java程序设计基础》期末考试试卷(武汉大学试题)

2. 在程序中定义Student类,Student类继承Person类。(10分)

(闭卷)

(1)在Student类中除了继承其超类Person的name字段和age字段外,它还有自己的字段String类型的school,该字段的访问权限为私有。

(2)Student类的构造器有三个参数,第一个参数为name,String类型;第二个参

数为age,int类型;第三个参数为school,String类型,这三个参数的值分别赋给三个字 段name、age和school。

(3)在Student类中重写其超类Person的toString方法,要求该方法返回的字符串

不仅包含超类Person中的name字段和age字段的值,而且包含子类Student中的school字段的值。如果name字段的值是“Helen”,age字段的值是20,school字段的值是“山西一、简单编程题(共50分)

大学商务学院”,则返回的字符串为“School:山西大学商务学院 Name:Helen. Age:20”。

在考试文件夹中新建一个应用程序proj1(应用程序的文件夹名称为proj1),按照以3. 在程序中定义Test类,在Test类中定义一个main方法,在main方法中实现如下要求编写程序代码。

下操作:(10分)

1. 在程序中定义Person类,为该类编写如下字段、构造器、访问器、修改器和相(1)创建一个Person类的对象,它的name为“John”,age为18,对象名为person1; 应的其他方法。(20分)

(2)创建一个Student类的对象,它的name为“Helen”,age为18,school为“MIT”,(1)在Person类中定义两个字段: 对象名为stuent1;

私有访问权限,类型为String的name字段; (3)分别输出这两个对象的相关信息(调用它们的toString方法)。 私有访问权限,类型为int的age字段。

(2)在Person类中定义构造器

4. 分别为Person类和Student类编写文档注释,并生成应用程序的类文档。要求如

构造器有两个参数,第一个参数的类型是String,名字为name。第二个的类型是int,下:(10分)

名字是age。第一个参数的值赋给字段name,第二个参数的值赋给字段age。

(1)类的文档注释,包括类名、类的作者及版本号,作者的名字用考生的姓名标注,(3)为Person类的两个字段分别编写访问器方法,方法名称分别为getName和版本号使用考试的日期;

getAge。getName方法返回类型为String的name字段的值;getAge方法返回类型为int(2)构造器和各个方法的文档注释,包括方法的名称、构造器和方法的功能说明,的age字段的值。

要求标注构造器和方法中的参数及返回值,并说明参数的类型、名称和返回值的类型。

(4)为Person类的两个字段分别编写修改器方法,方法名称分别为setName和 (3)文档注释完成后要使用BlueJ的JavaDOC工具生成应用程序的类文档。

setAge。setName方法有一个String类型的参数,方法中用该参数来设置字段name的值; setAge方法有一个int类型的参数,方法中用该参数来设置字段age的值,并且保证age

字段的值不能为负数,如果要将age设置为负数则给出错误提示。

(5)为Person类写一个叫做toString的方法,该方法不需要参数,有返回值。它返二、代码改错(共20分)

回一个字符串,字符串中包含name字段和age字段的值,如果name字段的值是“Helen”,age字段的值是20,则返回字符串:“Name:Helen. Age:20”。

在考试文件夹中的proj2工程中有五个类,每个类的代码中都存在错误,请先在出

错的代码处用行注释语句标出错误原因,然后修改程序代码中的错误。

……………………… 号…学……………线………………姓……………………封………班………………………………专…密…………………………编……注意:如果只改错或者只标出错误原因都只给一半分数。

{

private String name; private int age;

三、综合应用题(共30分)

public Person(String name,int age) {

this.name = name; this.age = age; 考试文件夹下的proj3工程是一个关于俱乐部的应用程序,程序中有两个类:Club 和Membership,分别代表俱乐部和俱乐部的会员。Membership类已经完成,可以直接使 } 用。请按照要求将Club类的功能补充完整。

(1)在Club类中,定义一个ArrayList类型的字段members。该字段是程序中用来 public String getName() {

保存俱乐部会员信息的容器,为此要为该容器选择正确的元素的类型。在Club类的构造 return name; 器中,创建一个容器对象并赋值给这个字段。

} (2)俱乐部的会员是以Membership类的对象来表达的,Membership的对象包含了

public int getAge() 一个人的姓名和他加入俱乐部的年月。在Club类中实现join方法,一个Membership对 {

象通过Club对象的join方法加入到Club对象的容器中去,这个join方法的声明如下:

return age; public void join(Membership member)

} (3)在Club类中实现numberOfMembers方法,该方法能够返回俱乐部的会员人数,

public void setName(String newName) 方法声明如下:

{

public int numberOfMembers()

name = newName; (4)在Club类里定义一个purge方法,方法的声明如下: }

public ArrayList purge(int month, int year)

public void setAge(int newAge) purge方法能够找出俱乐部中指定年、月加入的会员,并将找到的会员从当前容器中 {

移动到一个新的容器中,同时将该容器作为返回值返回。如果month参数超过了有效的 if(newAge > 0) 范围(1~12),打印出一条错误信息,并返回一个空容器。

{

System.out.println(newAge); } else {

System.out.println(

答案

public String gettoString() (1)public class Person

{

return (

……………………… 号…学……………线………………姓……………………封………班………………………………专…密…………………………编…… } }

(2)public class Student extends Person {

private String school;

public Student(String name,int age,String school) {

super(name,age);

this.school = school; }

public String getschool() {

return school; }

public String toString() {

return (

(3) public class Test {

public static void main(String[] args) {

Person person1 = new Person(

Student student1 = new Student(

}

(4) /**

* 这是一个Person类 * @author 白金 * @version 2011.12 */

public class Person {

protected String name; protected int age;

public Person(String name,int age) {

this.name = name; this.age = age; }

public String getName() {

return name; }

public int getAge() {

return age; }

public void setName(String newName) {

name = newName;

……………………… 号…学……………线………………姓……………………封………班………………………………专…密…………………………编…… }

public void setAge(int newAge) {

if(newAge > 0) {

System.out.println(newAge); } else {

System.out.println(

public String toString() {

return (

(5) import java.util.ArrayList; /**

* Store details of club memberships. *

* @author (your name)

* @version (a version number or a date) */

public class Club {

private ArrayList members ; /**

* Constructor for objects of class Club */

public Club() {

members = new ArrayList();

}

/**

* Add a new member to the club's list of members. * @param member The member object to be added. */

public void join(Membership member) {

members.add(member); }

public int numberOfMember() {

return members.size(); }

public ArrayListpurge(int month,int year) {

if(month >= 1 && month

int num = 0;

for(Membership member:members) {

if(member.getMonth() == month) num++; } }

else

System.out.println(

} }

……………………… 号…学……………线………………姓……………………封………班………………………………专…密…………………………编……《Java程序设计基础》期末考试试卷(武汉大学试题)

2. 在程序中定义Student类,Student类继承Person类。(10分)

(闭卷)

(1)在Student类中除了继承其超类Person的name字段和age字段外,它还有自己的字段String类型的school,该字段的访问权限为私有。

(2)Student类的构造器有三个参数,第一个参数为name,String类型;第二个参

数为age,int类型;第三个参数为school,String类型,这三个参数的值分别赋给三个字 段name、age和school。

(3)在Student类中重写其超类Person的toString方法,要求该方法返回的字符串

不仅包含超类Person中的name字段和age字段的值,而且包含子类Student中的school字段的值。如果name字段的值是“Helen”,age字段的值是20,school字段的值是“山西一、简单编程题(共50分)

大学商务学院”,则返回的字符串为“School:山西大学商务学院 Name:Helen. Age:20”。

在考试文件夹中新建一个应用程序proj1(应用程序的文件夹名称为proj1),按照以3. 在程序中定义Test类,在Test类中定义一个main方法,在main方法中实现如下要求编写程序代码。

下操作:(10分)

1. 在程序中定义Person类,为该类编写如下字段、构造器、访问器、修改器和相(1)创建一个Person类的对象,它的name为“John”,age为18,对象名为person1; 应的其他方法。(20分)

(2)创建一个Student类的对象,它的name为“Helen”,age为18,school为“MIT”,(1)在Person类中定义两个字段: 对象名为stuent1;

私有访问权限,类型为String的name字段; (3)分别输出这两个对象的相关信息(调用它们的toString方法)。 私有访问权限,类型为int的age字段。

(2)在Person类中定义构造器

4. 分别为Person类和Student类编写文档注释,并生成应用程序的类文档。要求如

构造器有两个参数,第一个参数的类型是String,名字为name。第二个的类型是int,下:(10分)

名字是age。第一个参数的值赋给字段name,第二个参数的值赋给字段age。

(1)类的文档注释,包括类名、类的作者及版本号,作者的名字用考生的姓名标注,(3)为Person类的两个字段分别编写访问器方法,方法名称分别为getName和版本号使用考试的日期;

getAge。getName方法返回类型为String的name字段的值;getAge方法返回类型为int(2)构造器和各个方法的文档注释,包括方法的名称、构造器和方法的功能说明,的age字段的值。

要求标注构造器和方法中的参数及返回值,并说明参数的类型、名称和返回值的类型。

(4)为Person类的两个字段分别编写修改器方法,方法名称分别为setName和 (3)文档注释完成后要使用BlueJ的JavaDOC工具生成应用程序的类文档。

setAge。setName方法有一个String类型的参数,方法中用该参数来设置字段name的值; setAge方法有一个int类型的参数,方法中用该参数来设置字段age的值,并且保证age

字段的值不能为负数,如果要将age设置为负数则给出错误提示。

(5)为Person类写一个叫做toString的方法,该方法不需要参数,有返回值。它返二、代码改错(共20分)

回一个字符串,字符串中包含name字段和age字段的值,如果name字段的值是“Helen”,age字段的值是20,则返回字符串:“Name:Helen. Age:20”。

在考试文件夹中的proj2工程中有五个类,每个类的代码中都存在错误,请先在出

错的代码处用行注释语句标出错误原因,然后修改程序代码中的错误。

……………………… 号…学……………线………………姓……………………封………班………………………………专…密…………………………编……注意:如果只改错或者只标出错误原因都只给一半分数。

{

private String name; private int age;

三、综合应用题(共30分)

public Person(String name,int age) {

this.name = name; this.age = age; 考试文件夹下的proj3工程是一个关于俱乐部的应用程序,程序中有两个类:Club 和Membership,分别代表俱乐部和俱乐部的会员。Membership类已经完成,可以直接使 } 用。请按照要求将Club类的功能补充完整。

(1)在Club类中,定义一个ArrayList类型的字段members。该字段是程序中用来 public String getName() {

保存俱乐部会员信息的容器,为此要为该容器选择正确的元素的类型。在Club类的构造 return name; 器中,创建一个容器对象并赋值给这个字段。

} (2)俱乐部的会员是以Membership类的对象来表达的,Membership的对象包含了

public int getAge() 一个人的姓名和他加入俱乐部的年月。在Club类中实现join方法,一个Membership对 {

象通过Club对象的join方法加入到Club对象的容器中去,这个join方法的声明如下:

return age; public void join(Membership member)

} (3)在Club类中实现numberOfMembers方法,该方法能够返回俱乐部的会员人数,

public void setName(String newName) 方法声明如下:

{

public int numberOfMembers()

name = newName; (4)在Club类里定义一个purge方法,方法的声明如下: }

public ArrayList purge(int month, int year)

public void setAge(int newAge) purge方法能够找出俱乐部中指定年、月加入的会员,并将找到的会员从当前容器中 {

移动到一个新的容器中,同时将该容器作为返回值返回。如果month参数超过了有效的 if(newAge > 0) 范围(1~12),打印出一条错误信息,并返回一个空容器。

{

System.out.println(newAge); } else {

System.out.println(

答案

public String gettoString() (1)public class Person

{

return (

……………………… 号…学……………线………………姓……………………封………班………………………………专…密…………………………编…… } }

(2)public class Student extends Person {

private String school;

public Student(String name,int age,String school) {

super(name,age);

this.school = school; }

public String getschool() {

return school; }

public String toString() {

return (

(3) public class Test {

public static void main(String[] args) {

Person person1 = new Person(

Student student1 = new Student(

}

(4) /**

* 这是一个Person类 * @author 白金 * @version 2011.12 */

public class Person {

protected String name; protected int age;

public Person(String name,int age) {

this.name = name; this.age = age; }

public String getName() {

return name; }

public int getAge() {

return age; }

public void setName(String newName) {

name = newName;

……………………… 号…学……………线………………姓……………………封………班………………………………专…密…………………………编…… }

public void setAge(int newAge) {

if(newAge > 0) {

System.out.println(newAge); } else {

System.out.println(

public String toString() {

return (

(5) import java.util.ArrayList; /**

* Store details of club memberships. *

* @author (your name)

* @version (a version number or a date) */

public class Club {

private ArrayList members ; /**

* Constructor for objects of class Club */

public Club() {

members = new ArrayList();

}

/**

* Add a new member to the club's list of members. * @param member The member object to be added. */

public void join(Membership member) {

members.add(member); }

public int numberOfMember() {

return members.size(); }

public ArrayListpurge(int month,int year) {

if(month >= 1 && month

int num = 0;

for(Membership member:members) {

if(member.getMonth() == month) num++; } }

else

System.out.println(

} }


相关文章

  • Java期末考试试卷答案A
  • JAVA程序设计试卷库(第5套) 一.单选题(每小题 2 分,共 20 分) 1.Java Application源程序的主类是指包含有( A )方法的类. A. main方法 B. toString方法 C. init方法 D. acti ...查看


  • JAVA期末考试试卷及答案
  • 一.判断题 1. 即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参函数,函数体为 空. ( 对 ) 2. 在Java的方法中定义一个常量要用const关键字. ( 错 ) 3. 在异常处理中总是将可能产生异常的 ...查看


  • 汇编期末考习题(带答案!)
  • 一.单选题(每题2分). 1.( B )下面布尔变量定义中,正确并且规范的是: A) BOOLEAN b_f=false; B) boolean b_f=false; C) boolean B-F=false; D) boolean b_f ...查看


  • 软件体系结构期末试卷
  • 北京工业大学2008 – 2009学年 第二学期考试样题 考试课程: 软件体系结构 II 考试日期:2009 年 12 月 日 学 院: 软件学院 专 业: 软件工程 学 号: 姓名: 成绩: 一 填空题 (共 30 空, 每空 1 分) ...查看


  • xml教学方案设计说明书
  • <XML基础>教学方案设计说明书 一. 课程培养目标 课时:32学时,理论24学时,实践8学时 学分:2 开课情况:09级计算机科学与技术专业第一次开课,主讲:李兴远,教材选用清华大学孙更新主编的<XML编程与应用教程&g ...查看


  • 全国信息技术高级人才水平考试12
  • <全国信息技术高级人才水平考试>软件工程师(JAVA)考试大纲 (初级) 一.考试说明 软件开发工程师(Java)考试内容覆盖了Java程序员.专业软件公司Java软件工程师.手机软件开发工程师.网络公司Java程序员等职位所要 ...查看


  • ANDROID期末考试总结
  • 1. Android的四大组件是哪些.它们的作用. 答:Activity service Content Provider BroadCastReceiver Activity是Android程序与用户交互的窗口,是Android构造块中最 ...查看


  • 毕业设计说明书和论文(程序设计评判系统)
  • 沈阳建筑大学 毕业设计说明书 毕 业 设 计 题 目 程序设计评判系统 学院专业班级 信息与控制工程学院计算机 班 学 生 姓 名 性别 指 导 教 师 职称 2014年 6月7日 摘要 随着Internet 的广泛引用, 计算机技术的飞速 ...查看


  • 网易Java笔试题
  • 2015网易Java开发工程师(技术架构)笔试题 1. 程序和进程的本质区别是? A.在外存和内存存储 B.非顺序和顺序执行机器指令 C.独占使用和分时使用计算机资源 D.静态和动态特征 2. 假设某算法的时间复杂度符合递推关系式T(n)= ...查看


热门内容