




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 焊工国考题库及参考答案详解(b卷)
- 消防维保国考题库含答案详解【能力提升】
- 国考题库文件下载附完整答案详解(有一套)
- 消防维保国考题库学生专用附答案详解
- 计算机国考题库必考题附答案详解
- 登高高处作业国考题库及参考答案详解(完整版)
- 行测国考答案及题库带答案详解(研优卷)
- 航天常识国考题库及完整答案详解(全优)
- 消防设施操作员国考题库附答案详解(能力提升)
- 国考行测题库结构及答案详解(有一套)
- 情侣协议书电子版(2025年版)
- 水利工程施工阶段减碳措施与碳排放管理研究
- 小学生无人机教学课件
- 2024年中国光引发剂UV-651市场调查研究报告
- 开颅术后健康教育
- 江苏省徐州市2024-2025学年高二上学期期中考试英语试题 含解析
- 【MOOC】生命的教育-浙江大学 中国大学慕课MOOC答案
- 2025年移动式压力容器R2作业证理论全国考试题库(含答案)
- 2024移动式压力容器充装许可鉴定评审作业指导书
- 2024年中级经济师《金融专业知识与实务》真题及答案
- DB11T 1946-2021 智慧工地评价标准
评论
0/150
提交评论