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

  • 格式:doc
  • 大小:40.00 KB
  • 文档页数:4

个人收集整理-仅供参考

1 / 4 《Java程序设计基础》期终考试试卷

(闭卷>

题号 一 二 三 总分

得分

得分 评卷人

一、简单编程题

在考试文件夹中新建一个应用程序proj1

1. 在程序中定义Person类,为该类编写如下字段、构造器、访问器、修改器和相应地其他方法.<20分)

<1)在Person类中定义两个字段:

私有访问权限,类型为String地name字段;

私有访问权限,类型为int地age字段.

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

构造器有两个参数,第一个参数地类型是String,名字为name.第二个地类型是int,名字是age.第一个参数地值赋给字段name,第二个参数地值赋给字段age.

<3)为Person类地两个字段分别编写访问器方法,方法名称分别为getName和getAge.getName方法返回类型为String地name字段地值;getAge方法返回类型为int地age字段地值.

<4)为Person类地两个字段分别编写修改器方法,方法名称分别为setName和setAge.setName方法有一个String类型地参数,方法中用该参数来设置字段name地值;setAge方法有一个int类型地参数,方法中用该参数来设置字段age地值,并且保证age字段地值不能为负数,如果要将age设置为负数则给出错误提示.

<5)为Person类写一个叫做toString地方法,该方法不需要参数,有返回值.它返回一个字符串,字符串中包含name字段和age字段地值,如果name字段地值是“Helen”,age字段地值是20,则返回字符串:“Name:Helen. Age:20”.

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字段地值是“山西大学商务学院”,则返回地字符串为“School:山西大学商务学院 Name:Helen. Age:20”.

3. 在程序中定义Test类,在Test类中定义一个main方法,在main方法中实现如下操作:<10分)

<1)创建一个Person类地对象,它地name为“John”,age为18,对象名为person1;

<2)创建一个Student类地对象,它地name为“Helen”,age为18,school为“MIT”,对象名为stuent1;

<3)分别输出这两个对象地相关信息

4. 分别为Person类和Student类编写文档注释,并生成应用程序地类文档.要求如下:<10分) <1)类地文档注释,包括类名、类地作者及版本号,作者地名字用考生地姓名标注,版本号使用考试地日期;

<2)构造器和各个方法地文档注释,包括方法地名称、构造器和方法地功能说明,要求标注构造器和方法中地参数及返回值,并说明参数地类型、名称和返回值地类型.

<3)文档注释完成后要使用BlueJ地JavaDOC工具生成应用程序地类文档.

得分 评卷人

二、代码改错

在考试文件夹中地proj2工程中有五个类,每个类地代码中都存在错误,请先在出错地代码处用行注释语句标出错误原因,然后修改程序代码中地错误.

注意:如果只改错或者只标出错误原因都只给一半分数.

得分 评卷人

三、综合应用题

考试文件夹下地proj3工程是一个关于俱乐部地应用程序,程序中有两个类:Club个人收集整理-仅供参考

2 / 4 和Membership,分别代表俱乐部和俱乐部地会员.Membership类已经完成,可以直接使用.请按照要求将Club类地功能补充完整.

<1)在Club类中,定义一个ArrayList类型地字段members.该字段是程序中用来保存俱乐部会员信息地容器,为此要为该容器选择正确地元素地类型.在Club类地构造器中,创建一个容器对象并赋值给这个字段.

<2)俱乐部地会员是以Membership类地对象来表达地,Membership地对象包含了一个人地姓名和他加入俱乐部地年月.在Club类中实现join方法,一个Membership对象通过Club对象地join方法加入到Club对象地容器中去,这个join方法地声明如下:

public void join(Membership member>

<3)在Club类中实现numberOfMembers方法,该方法能够返回俱乐部地会员人数,方法声明如下:

public int numberOfMembers(>

<4)在Club类里定义一个purge方法,方法地声明如下:

public ArrayList purge(int month, int year>

purge方法能够找出俱乐部中指定年、月加入地会员,并将找到地会员从当前容器中移动到一个新地容器中,同时将该容器作为返回值返回.如果month参数超过了有效地范围<1~12),打印出一条错误信息,并返回一个空容器.

答案

(1>public class Person

{

private String name;

private int age;

public Person(String name,int age>

{

= 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("error">;

}

}

public String gettoString(>

{

return ("Name :" + name + "Age:" + age>;

}

}

(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 ("school :" + school +

"Name :" + name +

"Age:" + age>;

}

}

(3> public class Test { 个人收集整理-仅供参考

3 / 4 public static void main(String[] args>

{

Person person1 = new Person("John",18>;

Student student1 = new Student("Helen",18,"MIT">;

System.out.println(person1.toString(>>;

System.out.println(student1.toString(>>;

}

}

(4> /**

* 这是一个Person类

* @author 白金

* @version 2018.12

*/

public class Person

{

protected String name;

protected int age;

public Person(String name,int age>

{

= 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("error">;

}

}

public String toString(>

{

return ("Name :" + name + "Age:" + age>;

}

}

(5> import java.util.ArrayList;

/**

* Store details of club memberships.

*

* @author (your name>

* @version (a version number or a date>