




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编号 专业 班级 姓名 学号 密封线Java程序设计基础期终考试试卷(模拟)(闭卷)题号一二三总分得分得分评卷人一、简单编程题(共50分)在考试文件夹中新建一个应用程序proj1(应用程序的文件夹名称为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)分别输出这两个对象的相关信息(调用它们的toString方法)。4. 分别为Person类和Student类编写文档注释,并生成应用程序的类文档。要求如下:(10分)(1)类的文档注释,包括类名、类的作者及版本号,作者的名字用考生的姓名标注,版本号使用考试的日期; (2)构造器和各个方法的文档注释,包括方法的名称、构造器和方法的功能说明,要求标注构造器和方法中的参数及返回值,并说明参数的类型、名称和返回值的类型。(3)文档注释完成后要使用BlueJ的JavaDOC工具生成应用程序的类文档。得分评卷人二、代码改错(共20分)在考试文件夹中的proj2工程中有五个类,每个类的代码中都存在错误,请先在出错的代码处用行注释语句标出错误原因,然后修改程序代码中的错误。注意:如果只改错或者只标出错误原因都只给一半分数。得分评卷人三、综合应用题(共30分)考试文件夹下的proj3工程是一个关于俱乐部的应用程序,程序中有两个类:Club和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参数超过了有效的范围(112),打印出一条错误信息,并返回一个空容器。答案(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 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 2011.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) */public class Club private ArrayList members ; /* * Constructor for objects of class Club */ public Club() members = new ArrayList(); /* * Add a new member to the clubs list of members. * param member The member object to be added. */ public void join(Membership member) members.add(member); public int numberOfMember() return members.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年青岛胶州市中医医院高级人才引进考前自测高频考点模拟试题及答案详解(有一套)
- 外周T细胞淋巴瘤护理查房
- 肝脾T细胞淋巴瘤护理查房
- 2025年烟台市人民警察培训学校公开招聘工作人员考前自测高频考点模拟试题及答案详解(有一套)
- 2025海南省交通工程建设局第一批考核招聘劳动合同制人员8人考前自测高频考点模拟试题及一套完整答案详解
- 2025广西师范大学成果转化中心工作人员招聘1人考前自测高频考点模拟试题及答案详解(网校专用)
- 浙江国企招聘2025丽水太平洋寿险丽水中心支公司公开招聘4人笔试历年参考题库附带答案详解
- 康定市投资发展集团有限公司公开招聘人员及拟聘用人员笔试历年参考题库附带答案详解
- 2025黑龙江哈尔滨云谷投资控股(集团)有限公司招聘11人笔试历年参考题库附带答案详解
- 2025陕西陕建瑞高科技园有限公司招聘(9人)笔试历年参考题库附带答案详解
- 与生育相关的慢性子宫内膜炎诊治专家共识(2025年版)解读
- 2025年中国近眼显示行业市场全景分析及前景机遇研判报告
- 2025个人住房公积金借款合同范本
- 2025贵州民航产业集团有限公司社会招聘考试参考试题及答案解析
- 2025年江西省高考物理试卷真题(含答案及解析)
- 光伏水面专项施工方案
- 东北三省2025~2026学年度上学期高考单元检测示范卷 数学(选择性必修第一册 人教版 第1章)(含答案)
- 四川省党校在职研究生招生考试真题(附答案)
- Z20名校联盟(浙江省名校新高考研究联盟)2026届高三第一次联考 语文试卷(含答案详解)
- 元器件采购基本知识培训课件
- 2024广西公需课高质量共建“一带一路”谱写人类命运共同体新篇章答案
评论
0/150
提交评论