大学java期末考试考试题和答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<3)为Person类的两个字段分别编写访问器方法,方法名称分别为getName和getAge。getName方法返回类型为String的name字段的值;getAge方法返回类型为int的age字段的值。RTCrpUDGiT
<4)为Person类的两个字段分别编写修改器方法,方法名称分别为setName和setAge。setName方法有一个String类型的参数,方法中用该参数来设置字段name的值;setAge方法有一个int类型的参数,方法中用该参数来设置字段age的值,并且保证age字段的值不能为负数,如果要将age设置为负数则给出错误提示。5PCzVD7HxA
<5)为Person类写一个叫做toString的方法,该方法不需要参数,有返回值。它返回一个字符串,字符串中包含name字段和age字段的值,如果name字段的值是“Helen”,age字段的值是20,则返回字符串:“Name:Helen. Age:20”。jLBHrnAILg
2. 在程序中定义Student类,Student类继承Person类。<10分)
3. 在程序中定义Test类,在Test类中定义一个main方法,在main方法中实现如下操作:<10分)dvzfvkwMI1
<1)创建一个Person类的对象,它的name为“John”,age为18,对象名为person1;rqyn14ZNXI
<2)创建一个Student类的对象,它的name为“Helen”,age为18,school为“MIT”,对象名为stuent1;EmxvxOtOco
{
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">。
{
members = new ArrayList<Membership>(>。
}
/**
* Add a new member to the club's list of members.
* @param member The member object to be added.
*/
public void join(Membership member>
{
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(>
purge方法能够找出俱乐部中指定年、月加入的会员,并将找到的会员从当前容器中移动到一个新的容器中,同时将该容器作为返回值返回。如果month参数超过了有效的范围<1~12),打印出一条错误信息,并返回一个空容器。GMsIasNXkA
答案
(1>public class Person
{
private String name。
"Age:" + age>。
}
}
(3> public class Test
{
public static void main(String[] args>
{
Person person1 = new Person("John",18>。
Student student1 = new Student("Helen",18,"MIT">。
《Java程序设计基础》期终考试试卷<模拟)
(闭卷>
题号
一
二
三
总分
得分
得分
评卷人
一、简单编程题<共50分)
在考试文件夹中新建一个应用程序proj1<应用程序的文件夹名称为proj1),按照以下要求编写程序代码。b5E2RGbCAP
1. 在程序中定义Person类,为该类编写如下字段、构造器、访问器、修改器和相应的其他方法。<20分)p1EanqFDPw
<3)文档注释完成后要使用BlueJ的JavaDOC工具生成应用程序的类文档。
得分
评卷人
二、代码改错<共20分)
在考试文件夹中的proj2工程中有五个类,每个类的代码中都存在错误,请先在出错的代码处用行注释语句标出错误原因,然后修改程序代码中的错误。kavU42VRUs
注意:如果只改错或者只标出错误原因都只给一半分数。
{
int num = 0。
for(Membership member:members>
{
if(member.getMonth(> == month>
num++。
}
}
else
System.out.println("输入的月份无效!">。
return null。
}
}
申明:
所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。
System.out.println(person1.toString(>>。
System.out.println(student1.toString(>>。
}
}
(4> /**
* 这是一个Person类
* @author 白金
* @version 2018.12
*/
public class Person
}
public void setName(String newName>
{百度文库
name = newName。
}
public void setAge(int newAge>
{
if(newAge > 0>
{
System.out.println(newAge>。
}
else
{
System.out.println("error">。
得分
评卷人
三、综合应用题<共30分)
考试文件夹下的proj3工程是一个关于俱乐部的应用程序,程序中有两个类:Club和Membership,分别代表俱乐部和俱乐部的会员。Membership类已经完成,可以直接使用。请按照要求将Club类的功能补充完整。y6v3ALoS89
<1)在Club类中,定义一个ArrayList类型的字段members。该字段是程序中用来保存俱乐部会员信息的容器,为此要为该容器选择正确的元素的类型。在Club类的构造器中,创建一个容器对象并赋值给这个字段。M2ub6vSTnP
}
}
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>
<3)在Club类中实现numberOfMembers方法,该方法能够返回俱乐部的会员人数,方法声明如下:eUts8ZQVRd
public int numberOfMembers(>
<4)在Club类里定义一个purge方法,方法的声明如下:
public ArrayList<Membership> purge(int month, int year>sQsAEJkW5T
<2)俱乐部的会员是以Membership类的对象来表达的,Membership的对象包含了一个人的姓名和他加入俱乐部的年月。在Club类中实现join方法,一个Membership对象通过Club对象的join方法加入到Club对象的容器中去,这个join方法的声明如下:0YujCfmUCw
public void join(Membership member>
private int age。
public Person(String name,int age>
{
this.name = name。
this.age = age。
}
public String getName(>
{
return name。
}
public int getAge(>
{
return age。
<3)在Student类中重写其超类Person的toString方法,要求该方法返回的字符串不仅包含超类Person中的name字段和age字段的值,而且包含子类Student中的school字段的值。如果name字段的值是“Helen”,age字段的值是20,school字段的值是“山西大学商务学院”,则返回的字符串为“School:山西大学商务学院 Name:Helen. Age:20”。Zzz6ZB2Ltk
<3)分别输出这两个对象的相关信息<调用它们的toString方法)。
4. 分别为Person类和Student类编写文档注释,并生成应用程序的类文档。要求如下:<10分)SixE2yXPq5
<1)类的文档注释,包括类名、类的作者及版本号,作者的名字用考生的姓名标注,版本号使用考试的日期;
<2)构造器和各个方法的文档注释,包括方法的名称、构造器和方法的功能说明,要求标注构造器和方法中的参数及返回值,并说明参数的类型、名称和返回值的类型。6ewMyirQFL
<1)在Person类中定义两个字段:
私有访问权限,类型为String的name字段;
私有访问权限,类型为int的age字段。
<2)在Person类中定义构造器
构造器有两个参数,第一个参数的类型是String,名字为name。第二个的类型是int,名字是age。第一个参数的值赋给字段name,第二个参数的值赋给字段age。DXDiTa9E3d
* @version (a version number or a date>
*/
public class Club
{
private ArrayList<Membership> members 。
/**
* Constructor for objects of class Club
*/
public Club(>
{
members.add(member>。
}
public int numberOfMember(>
{
return members.size(>。
}
public ArrayList<Membership>purge(int month,int year>TIrRGchYzg
{
if(month >= 1 && month <= 12>
<1)在Student类中除了继承其超类Person的name字段和age字段外,它还有自己的字段String类型的school,该字段的访问权限为私有。xHAQX74J0X
<2)Student类的构造器有三个参数,第一个参数为name,String类型;第二个参数为age,int类型;第三个参数为school,String类型,这三个参数的值分别赋给三个字段name、age和school。LDAYtRyKfE
{
super(name,age>。
this.school = school。
}
public String getschool(>
{
return school。
}
public String toString(>
{
return ("school :" + school +
"Name :" + name +
}
}
public String toString(>
{
return ("Name :" + name + "Age:" + age>。
}
}
(5> import java.util.ArrayList。
/**
* Store details of club memberships.
*
* @author (your name>
<4)为Person类的两个字段分别编写修改器方法,方法名称分别为setName和setAge。setName方法有一个String类型的参数,方法中用该参数来设置字段name的值;setAge方法有一个int类型的参数,方法中用该参数来设置字段age的值,并且保证age字段的值不能为负数,如果要将age设置为负数则给出错误提示。5PCzVD7HxA
<5)为Person类写一个叫做toString的方法,该方法不需要参数,有返回值。它返回一个字符串,字符串中包含name字段和age字段的值,如果name字段的值是“Helen”,age字段的值是20,则返回字符串:“Name:Helen. Age:20”。jLBHrnAILg
2. 在程序中定义Student类,Student类继承Person类。<10分)
3. 在程序中定义Test类,在Test类中定义一个main方法,在main方法中实现如下操作:<10分)dvzfvkwMI1
<1)创建一个Person类的对象,它的name为“John”,age为18,对象名为person1;rqyn14ZNXI
<2)创建一个Student类的对象,它的name为“Helen”,age为18,school为“MIT”,对象名为stuent1;EmxvxOtOco
{
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">。
{
members = new ArrayList<Membership>(>。
}
/**
* Add a new member to the club's list of members.
* @param member The member object to be added.
*/
public void join(Membership member>
{
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(>
purge方法能够找出俱乐部中指定年、月加入的会员,并将找到的会员从当前容器中移动到一个新的容器中,同时将该容器作为返回值返回。如果month参数超过了有效的范围<1~12),打印出一条错误信息,并返回一个空容器。GMsIasNXkA
答案
(1>public class Person
{
private String name。
"Age:" + age>。
}
}
(3> public class Test
{
public static void main(String[] args>
{
Person person1 = new Person("John",18>。
Student student1 = new Student("Helen",18,"MIT">。
《Java程序设计基础》期终考试试卷<模拟)
(闭卷>
题号
一
二
三
总分
得分
得分
评卷人
一、简单编程题<共50分)
在考试文件夹中新建一个应用程序proj1<应用程序的文件夹名称为proj1),按照以下要求编写程序代码。b5E2RGbCAP
1. 在程序中定义Person类,为该类编写如下字段、构造器、访问器、修改器和相应的其他方法。<20分)p1EanqFDPw
<3)文档注释完成后要使用BlueJ的JavaDOC工具生成应用程序的类文档。
得分
评卷人
二、代码改错<共20分)
在考试文件夹中的proj2工程中有五个类,每个类的代码中都存在错误,请先在出错的代码处用行注释语句标出错误原因,然后修改程序代码中的错误。kavU42VRUs
注意:如果只改错或者只标出错误原因都只给一半分数。
{
int num = 0。
for(Membership member:members>
{
if(member.getMonth(> == month>
num++。
}
}
else
System.out.println("输入的月份无效!">。
return null。
}
}
申明:
所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。
System.out.println(person1.toString(>>。
System.out.println(student1.toString(>>。
}
}
(4> /**
* 这是一个Person类
* @author 白金
* @version 2018.12
*/
public class Person
}
public void setName(String newName>
{百度文库
name = newName。
}
public void setAge(int newAge>
{
if(newAge > 0>
{
System.out.println(newAge>。
}
else
{
System.out.println("error">。
得分
评卷人
三、综合应用题<共30分)
考试文件夹下的proj3工程是一个关于俱乐部的应用程序,程序中有两个类:Club和Membership,分别代表俱乐部和俱乐部的会员。Membership类已经完成,可以直接使用。请按照要求将Club类的功能补充完整。y6v3ALoS89
<1)在Club类中,定义一个ArrayList类型的字段members。该字段是程序中用来保存俱乐部会员信息的容器,为此要为该容器选择正确的元素的类型。在Club类的构造器中,创建一个容器对象并赋值给这个字段。M2ub6vSTnP
}
}
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>
<3)在Club类中实现numberOfMembers方法,该方法能够返回俱乐部的会员人数,方法声明如下:eUts8ZQVRd
public int numberOfMembers(>
<4)在Club类里定义一个purge方法,方法的声明如下:
public ArrayList<Membership> purge(int month, int year>sQsAEJkW5T
<2)俱乐部的会员是以Membership类的对象来表达的,Membership的对象包含了一个人的姓名和他加入俱乐部的年月。在Club类中实现join方法,一个Membership对象通过Club对象的join方法加入到Club对象的容器中去,这个join方法的声明如下:0YujCfmUCw
public void join(Membership member>
private int age。
public Person(String name,int age>
{
this.name = name。
this.age = age。
}
public String getName(>
{
return name。
}
public int getAge(>
{
return age。
<3)在Student类中重写其超类Person的toString方法,要求该方法返回的字符串不仅包含超类Person中的name字段和age字段的值,而且包含子类Student中的school字段的值。如果name字段的值是“Helen”,age字段的值是20,school字段的值是“山西大学商务学院”,则返回的字符串为“School:山西大学商务学院 Name:Helen. Age:20”。Zzz6ZB2Ltk
<3)分别输出这两个对象的相关信息<调用它们的toString方法)。
4. 分别为Person类和Student类编写文档注释,并生成应用程序的类文档。要求如下:<10分)SixE2yXPq5
<1)类的文档注释,包括类名、类的作者及版本号,作者的名字用考生的姓名标注,版本号使用考试的日期;
<2)构造器和各个方法的文档注释,包括方法的名称、构造器和方法的功能说明,要求标注构造器和方法中的参数及返回值,并说明参数的类型、名称和返回值的类型。6ewMyirQFL
<1)在Person类中定义两个字段:
私有访问权限,类型为String的name字段;
私有访问权限,类型为int的age字段。
<2)在Person类中定义构造器
构造器有两个参数,第一个参数的类型是String,名字为name。第二个的类型是int,名字是age。第一个参数的值赋给字段name,第二个参数的值赋给字段age。DXDiTa9E3d
* @version (a version number or a date>
*/
public class Club
{
private ArrayList<Membership> members 。
/**
* Constructor for objects of class Club
*/
public Club(>
{
members.add(member>。
}
public int numberOfMember(>
{
return members.size(>。
}
public ArrayList<Membership>purge(int month,int year>TIrRGchYzg
{
if(month >= 1 && month <= 12>
<1)在Student类中除了继承其超类Person的name字段和age字段外,它还有自己的字段String类型的school,该字段的访问权限为私有。xHAQX74J0X
<2)Student类的构造器有三个参数,第一个参数为name,String类型;第二个参数为age,int类型;第三个参数为school,String类型,这三个参数的值分别赋给三个字段name、age和school。LDAYtRyKfE
{
super(name,age>。
this.school = school。
}
public String getschool(>
{
return school。
}
public String toString(>
{
return ("school :" + school +
"Name :" + name +
}
}
public String toString(>
{
return ("Name :" + name + "Age:" + age>。
}
}
(5> import java.util.ArrayList。
/**
* Store details of club memberships.
*
* @author (your name>