版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、文档供参考,可复制、编制,期待您的好评与关注! 期末复习试卷(五)一、 程序题1、请根据UML图,代码实现Person类、Student类和Volunteer接口的定义。解题要求:编写测试程序,创建一个名为”Tom”的一年级学生,这名学生参加了“北京青年志愿者协会”的活动。输出该学生的姓名、年级及所属社团的信息。效果如下:interface Volunteer public abstract String volunteer(String organization);class Person private String name;
2、60; public Person() public Person(String name) = name; Override public String toString() return "姓名" + + "n" class Student extend
3、s Person implements Volunteer private int grade; public static final int FRESHMAN = 1; public static final int SOPHOMORE = 2; public static final int JUNIOR = 3; public static final int SENIOR = 4; public Student(String n
4、ame, int grade) super(name); this.grade = grade; Override public String toString() return super.toString() + "年级" +
5、this.grade + "n" Override public String volunteer(String organization) return organization; public class Test public static void main(String args) Student student = new Student("
6、;Tom",1); System.out.println(student + "所属社团" + student.volunteer("北京青年志愿者协会") + "n"); 2、根据给定的GeometricObject类层次图,分别实现GeometricObject、Circle和Triangle类。要求:(1) 按照类图,定义各类的数据域属性和方法。(2) 默认的GeometricObject的颜
7、色为white。默认的Circle对象的半径为10。默认的Triangle对象的三边为(3,4,5)。(3) GeometricObject类的toString()方法,返回对象的颜色信息。Circle和Triangle的toString()方法,覆盖父类的toString(),分别返回包括颜色信息、半径或边长的信息。(4) GeometricObject类实现java.lang.Comparable接口,覆盖public int compareTo()方法,实现两个几何对象在周长上的比较。(5) Circle和Triangle类分别覆盖实现getPerimeter()。编写一个用户程序:(1
8、)创建一个几何对象数组object;(2)分别存放一个默认的圆、一个半径为20的圆、一个默认的三角形和一个三边为(10,20,15)的三角形;(3)计算这一组几何对象的总周长并输出;(4)使用toString(),输出每个几何对象的相关信息;(5)使用java.util.Arrays.sort()方法,对几何对象数组中的几何图形,按周长进行排序,并输出排序结果。解题要求:写出程序代码。定义一个Java源文件,名为Test.java,其中包括:用户类Test、GeometricObject类、Circle类和Triangle类的定义。abstract class GeometricObject
9、implements Comparable<geometricobject> private String color = "white" protected GeometricObject() protected GeometricObject(String color) this.color = color; public String getColor() return color; public void setColor(String color) this.color = color; Override public int compareTo(Ge
10、ometricObject o) if (this.getPerimeter() > o.getPerimeter() return 1; else if (this.getPerimeter() < o.getPerimeter() return -1; else return 0; public String toString() return "颜色" + color + "n" public abstract double getPerimeter();class Circle extends GeometricObject priv
11、ate double radius; public Circle() this.radius = 10.0; public Circle(double radius) this.radius = radius; public Circle(String color, double radius) super(color); this.radius = radius; public double getRadius() return radius; public void setRadius(double radius) this.radius = radius; Override public
12、 double getPerimeter() return 2 * radius * Math.PI; public String toString() return super.toString() + "圆的半径是" + radius + "n" class Triangle extends GeometricObject private double side1; private double side2; private double side3; public Triangle() this.side1 = 3.0; this.side2 =
13、4.0; this.side3 = 5.0; public Triangle(double side1 ,double side2, double side3) this.side1 = side1; this.side2 = side2; this.side3 = side3; public Triangle(String color,double side1 ,double side2, double side3) super(color); this.side1 = side1; this.side2 = side2; this.side3 = side3; Override publi
14、c double getPerimeter() return side1 + side2 + side3; Override public String toString() return super.toString() + "三角形的三条边是" + side1 + " " + side2 + " " + side3 + "n" public class Test public static void main(String args) /创建对象数组 GeometricObject object = new C
15、ircle(), new Circle(20), new Triangle(), new Triangle(10,20,15); double totalPerimeter = 0; /自己学习一下这种for循环的使用方法 for(GeometricObject go:object) totalPerimeter += go.getPerimeter(); System.out.println("The total perimeter is " + totalPerimeter); for(GeometricObject go:object) System.out.prin
16、tln(go.toString(); /*抽象类GeometricObject实现了Comparable接口之后,所有子类(Circle和Triangle)的对象 就可以比较大小了,由此也就可以调用Arrays的sort方法对上面的对象数组排序了。 */ java.util.Arrays.sort(object); for(int i = 0; i < object.length; i+) System.out.println("The " + i + "th short perimeter is " + objecti.getPerimeter(
17、); 3、根据UML图,实现Person类、Faculty类和Volunteer接口的定义。解题要求:编写用户测试程序,创建一个名为“Jerry”的副教授, 他参加了“北京市慈善义工协会”的活动,输出其姓名、职称和所属社团信息。效果如下:class Person private String name; public Person() public Person(String name) = name; Override public String toString() return "姓名" + + "n"
18、160;interface Volunteer public abstract String volunteer(String organization); class Faculty extends Person implements Volunteer private String title; public static final String TEACHING_ASSISTANT = "助教" public static final String LECTURER = "讲师"
19、 public static final String ASSOCIATE_PROFESSOR = "副教授" public static final String PROFESSOR = "教授" public Faculty(String name,String title) super(name); this.title = title; Override public String toString() return super.toString() + "职称" + this.title + "n" Ov
20、erride public String volunteer(String organization) return organization; public class TestPerson public static void main(String args) Faculty faculty = new Faculty("Jerry","副教授"); System.out.println(faculty + "所属社团" + faculty.volunteer("北京市慈善义工协会"); 4、请根据UML图,
21、给出类Person 、类Student、Faculty类和接口Volunteer的定义实现。解题要求:编写测试程序,创建一个名为“Tom”的一年级学生、“北京青年志愿者协会”成员,创建一个名为“JERRY”的助教、“北京市慈善义工协会”成员,输出两个人的姓名、年级和所属志愿者协会的基本信息。效果如下:interface Volunteer public abstract String volunteer(String organization);class Person private String name; public Person() public Person(
22、String name) = name; Override public String toString() return "姓名" + + "n" class Student extends Person implements Volunteer private int grade; public static final int FRESHMAN = 1; public static final int SOPHOMORE = 2; public static final int JUNIOR = 3; pub
23、lic static final int SENIOR = 4; public Student(String name, int grade) super(name); this.grade = grade; Override public String toString() return super.toString() + "年级" + this.grade + "n" Override public String volunteer(String organization) return organization; class Faculty extends Person implements Volunteer private String title; public static final String TEACHING_ASSISTANT = "助教" public static final
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甲方竞选发言稿
- 协会发言稿范文
- 合理膳食知识培训
- 蝴蝶儿童舞蹈课件
- 愿望体验动力课件
- 二零二五年度宾馆会议室租赁合同书-商务会议室租赁及多媒体服务合同
- 二零二五版特种光纤光缆采购合同范本
- 二零二五年抵押车借款及车辆检测服务合同样本
- 2025拆除违章建筑与安全风险评估合同
- 二零二五年电商代运营产品上架与销售策略合同
- Lesson9ChinasMostFamous“Farmer”课件-冀教版九年级英语上册
- 危险化学品应急演练计划
- 2025秋部编版(2024)八年级上册语文上课课件 第六单元 阅读综合实践
- 电厂设备清洁管理制度
- 2025至2030年中国继电保护及自动化设备行业市场现状调查及发展趋向研判报告
- 关于医院“十五五”发展规划(2026-2030)
- 单元整体设计下教、学、评一体化的实施策略
- 云仓代发货合同协议书
- DB32T 5124.3-2025 临床护理技术规范 第3部分:成人危重症患者有创动脉血压监测
- 技术团队分红协议书
- 应聘个人简历标准版范文
评论
0/150
提交评论