已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
期末复习试卷(五)一、 程序题1、请根据UML图,代码实现Person类、Student类和Volunteer接口的定义。解题要求:编写测试程序,创建一个名为”Tom”的一年级学生,这名学生参加了“北京青年志愿者协会”的活动。输出该学生的姓名、年级及所属社团的信息。效果如下:interface Volunteerpublic abstract String volunteer(String organization);class Personprivate String name;public Person()public Person(String name) = name;Overridepublic String toString()return 姓名 + + n;class Student extends Person implements Volunteerprivate 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 name, int grade)super(name);this.grade = grade;Overridepublic String toString()return super.toString() +年级 + this.grade + n;Overridepublic String volunteer(String organization)return organization;public class Testpublic static void main(String args)Student student = new Student(Tom,1);System.out.println(student + 所属社团 + student.volunteer(北京青年志愿者协会) + n);2、根据给定的GeometricObject类层次图,分别实现GeometricObject、Circle和Triangle类。要求:(1) 按照类图,定义各类的数据域属性和方法。(2) 默认的GeometricObject的颜色为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)创建一个几何对象数组object;(2)分别存放一个默认的圆、一个半径为20的圆、一个默认的三角形和一个三边为(10,20,15)的三角形;(3)计算这一组几何对象的总周长并输出;(4)使用toString(),输出每个几何对象的相关信息;(5)使用java.util.Arrays.sort()方法,对几何对象数组中的几何图形,按周长进行排序,并输出排序结果。解题要求:写出程序代码。定义一个Java源文件,名为Test.java,其中包括:用户类Test、GeometricObject类、Circle类和Triangle类的定义。abstract class GeometricObject implements Comparable 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(GeometricObject 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 private 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 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 = 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 public 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 Circle(), 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.println(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(); 3、根据UML图,实现Person类、Faculty类和Volunteer接口的定义。解题要求:编写用户测试程序,创建一个名为“Jerry”的副教授, 他参加了“北京市慈善义工协会”的活动,输出其姓名、职称和所属社团信息。效果如下:class Person private String name; public Person() public Person(String name) = name; Override public String toString() return 姓名 + + n; interface Volunteerpublic 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 = 讲师; 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; Override 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图,给出类Person 、类Student、Faculty类和接口Volunteer的定义实现。解题要求:编写测试程序,创建一个名为“Tom”的一年级学生、“北京青年志愿者协会”成员,创建一个名为“JERRY”的助教、“北京市慈善义工协会”成员,输出两个人的姓名、年级和所属志愿者协会的基本信息。效果如下:interface Volunteerpublic abstract String volunteer(String organization);class Person private String name; public Person() public Person(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; public 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_ASSISTAN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 29168-2:2025 EN Information technology - Open systems interconnection - Part 2: Procedures for the object identifier resolution system operational agency
- 【正版授权】 IEC SRD 63301-2:2025 EN Smart city use case collection and analysis - Water systems in smart cities - Part 2: Use case analysis
- 【正版授权】 ISO/IEC 18047-6:2025 EN Information technology - Radio frequency identification device conformance test methods - Part 6: Test methods for air interface communications at 86
- TCECS 1648-2024 无机纤维复合保温板外墙外保温工程技术规程
- TCECS 1456-2023 冷库地面工程技术规程
- GBT 50838-2015 城市综合管廊工程技术标准(2024年版)
- 浙江事业单位衢州市开化县定向培养粮油储检人员招考易考易错模拟试题(共500题)试卷后附参考答案
- 河北沧州市审计局事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 养猪场工人合同范本
- 占地建设协议书模板
- 电气主管年终总结
- 2016京东集团年会策划方案
- 餐饮服务联合体招投标协议模板
- 2024全国二卷语文高考试题
- 住宅小区电梯采购与安装 投标方案(技术方案)
- 《园艺病虫害防治》课件
- HG-T20678-2023《化工设备衬里钢壳设计标准》
- 教学能力大赛-教学实施报告《大学英语2c》
- 三农政策解读
- 企业咨询报告范文模板
- 《聪明的牧羊人》导读
评论
0/150
提交评论