您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 大学java期末考试试题和答案
1/4《Java程序设计基础》期终考试试卷模拟)(闭卷题号一二三总分得分得分评卷人一、简单编程题共50分)在考试文件夹中新建一个应用程序proj1应用程序的文件夹名称为proj1),按照以下要求编写程序代码。J76jihfGYM1.在程序中定义Person类,为该类编写如下字段、构造器、访问器、修改器和相应的其他方法。20分)J76jihfGYM1)在Person类中定义两个字段:私有访问权限,类型为String的name字段;私有访问权限,类型为int的age字段。2)在Person类中定义构造器构造器有两个参数,第一个参数的类型是String,名字为name。第二个的类型是int,名字是age。第一个参数的值赋给字段name,第二个参数的值赋给字段age。J76jihfGYM3)为Person类的两个字段分别编写访问器方法,方法名称分别为getName和getAge。getName方法返回类型为String的name字段的值;getAge方法返回类型为int的age字段的值。J76jihfGYM4)为Person类的两个字段分别编写修改器方法,方法名称分别为setName和setAge。setName方法有一个String类型的参数,方法中用该参数来设置字段name的值;setAge方法有一个int类型的参数,方法中用该参数来设置字段age的值,并且保证age字段的值不能为负数,如果要将age设置为负数则给出错误提示。J76jihfGYM5)为Person类写一个叫做toString的方法,该方法不需要参数,有返回值。它返回一个字符串,字符串中包含name字段和age字段的值,如果name字段的值是“Helen”,age字段的值是20,则返回字符串:“Name:Helen.Age:20”。J76jihfGYM2.在程序中定义Student类,Student类继承Person类。10分)1)在Student类中除了继承其超类Person的name字段和age字段外,它还有自己的字段String类型的school,该字段的访问权限为私有。J76jihfGYM2)Student类的构造器有三个参数,第一个参数为name,String类型;第二个参数为age,int类型;第三个参数为school,String类型,这三个参数的值分别赋给三个字段name、age和school。J76jihfGYM3)在Student类中重写其超类Person的toString方法,要求该方法返回的字符串不仅包含超类Person中的name字段和age字段的值,而且包含子类Student中的school字段的值。如果name字段的值是“Helen”,age字段的值是20,school字段的值是“山西大学商务学院”,则返回的字符串为“School:山西大学商务学院Name:Helen.Age:20”。J76jihfGYM3.在程序中定义Test类,在Test类中定义一个main方法,在main方法中实现如下操作:10分)J76jihfGYM1)创建一个Person类的对象,它的name为“John”,age为18,对象名为person1;J76jihfGYM2)创建一个Student类的对象,它的name为“Helen”,age为18,school为“MIT”,对象名为stuent1;J76jihfGYM3)分别输出这两个对象的相关信息调用它们的toString方法)。4.分别为Person类和Student类编写文档注释,并生成应用程序的类文档。要求如下:10分)J76jihfGYM1)类的文档注释,包括类名、类的作者及版本号,作者的名字用考生的姓名标注,版本号使用考试的日期;2)构造器和各个方法的文档注释,包括方法的名称、构造器和方法的功能说明,要求标注构造器和方法中的参数及返回值,并说明参数的类型、名称和返回值的类型。J76jihfGYM3)文档注释完成后要使用BlueJ的JavaDOC工具生成应用程序的类文档。得分评卷人二、代码改错共20分)在考试文件夹中的proj2工程中有五个类,每个类的代码中都存在错误,请先在出错的代码处用行注释语句标出错误原因,然后修改程序代码中的错误。J76jihfGYM注意:如果只改错或者只标出错误原因都只给一半分数。得分评卷人三、综合应用题共30分)2/4考试文件夹下的proj3工程是一个关于俱乐部的应用程序,程序中有两个类:Club和Membership,分别代表俱乐部和俱乐部的会员。Membership类已经完成,可以直接使用。请按照要求将Club类的功能补充完整。J76jihfGYM1)在Club类中,定义一个ArrayList类型的字段members。该字段是程序中用来保存俱乐部会员信息的容器,为此要为该容器选择正确的元素的类型。在Club类的构造器中,创建一个容器对象并赋值给这个字段。J76jihfGYM2)俱乐部的会员是以Membership类的对象来表达的,Membership的对象包含了一个人的姓名和他加入俱乐部的年月。在Club类中实现join方法,一个Membership对象通过Club对象的join方法加入到Club对象的容器中去,这个join方法的声明如下:J76jihfGYMpublicvoidjoin(Membershipmember3)在Club类中实现numberOfMembers方法,该方法能够返回俱乐部的会员人数,方法声明如下:J76jihfGYMpublicintnumberOfMembers(4)在Club类里定义一个purge方法,方法的声明如下:publicArrayListMembershippurge(intmonth,intyearJ76jihfGYMpurge方法能够找出俱乐部中指定年、月加入的会员,并将找到的会员从当前容器中移动到一个新的容器中,同时将该容器作为返回值返回。如果month参数超过了有效的范围1~12),打印出一条错误信息,并返回一个空容器。J76jihfGYM答案(1publicclassPerson{privateStringname;privateintage;publicPerson(Stringname,intage{this.name=name;this.age=age;}publicStringgetName({returnname;}publicintgetAge({returnage;}publicvoidsetName(StringnewName{name=newName;}publicvoidsetAge(intnewAge{if(newAge0{System.out.println(newAge;}else{System.out.println(error;}}publicStringgettoString({return(Name:+name+Age:+age;}}(2publicclassStudentextendsPerson{privateStringschool;publicStudent(Stringname,intage,Stringschool{super(name,age;this.school=school;}publicStringgetschool({returnschool;}publicStringtoString({return(school:+school+Name:+name+Age:+age;}}3/4(3publicclassTest{publicstaticvoidmain(String[]args{Personperson1=newPerson(John,18;Studentstudent1=newStudent(Helen,18,MIT;System.out.println(person1.toString(;System.out.println(student1.toString(;}}(4/***这是一个Person类*@author白金*@version2018.12*/publicclassPerson{protectedStringname;protectedintage;publicPerson(Stringname,intage{this.name=name;this.age=age;}publicStringgetName({returnname;}publicintgetAge({returnage;}publicvoidsetName(StringnewName{name=newName;}publicvoidsetAge(intnewAge{if(newAge0{System.out.println(newAge;}else{System.out.println(error;}}publicStringtoString({return(Name:+name+Age:+age;}}(5importjava.util.ArrayList;/***Storedetailsofclubmemberships.**@author(yourname*@version(aversionnumberoradate*/publicclassClub{privateArrayListMembershipmembers;/***ConstructorforobjectsofclassClub*/publicClub({members=newArrayListMembership(;}/***Addanewmembertotheclub'slistofmembers.*@parammemberThememberobjecttobeadded.*/publicvoidjoin(Membershipmember{members.add(member;}publicintnumberOfMember({returnmembers.size(;}publicArrayListMembershippurge(intmonth,intyearJ76jihfGYM4/4{if(month=1&&month=12{intnum=0;for(Membershipmember:members{if(member.getMonth(==monthnum++;}}elseSystem.out.println(输入的月份无效!;returnnull;}}申明:所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。
本文标题:大学java期末考试试题和答案
链接地址:https://www.777doc.com/doc-5673485 .html