版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、期末复习试卷(五)一、 程序题1、请根据UML图,代码实现Person类、Student类和Volunteer接口的定义。解题要求:编写测试程序,创建一个名为”Tom”的一年级学生,这名学生参加了“北京青年志愿者协会”的活动。输出该学生的姓名、年级及所属社团的信息。效果如下:interface Volunteer public abstract String volunteer(String organization);class Person private String name; public Person()
2、 public Person(String name) = name; Override public String toString() return "姓名" + + "n" class Student extends Person implements Volu
3、nteer 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)
4、60; super(name); this.grade = grade; Override public String toString() return super.toString() + "年级" + this.grade + "n&quo
5、t; Override public String volunteer(String organization) return organization; public class Test public static void main(String args) Student student = new Student("Tom",1);
6、0; System.out.println(student + "所属社团" + student.volunteer("北京青年志愿者协会") + "n"); 2、根据给定的GeometricObject类层次图,分别实现GeometricObject、Circle和Triangle类。要求:(1) 按照类图,定义各类的数据域属性和方法。(2) 默认的GeometricObject的颜色为white。默认的Circle对象的半径为1
7、0。默认的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)分别存
8、放一个默认的圆、一个半径为20的圆、一个默认的三角形和一个三边为(10,20,15)的三角形;(3)计算这一组几何对象的总周长并输出;(4)使用toString(),输出每个几何对象的相关信息;(5)使用java.util.Arrays.sort()方法,对几何对象数组中的几何图形,按周长进行排序,并输出排序结果。解题要求:写出程序代码。定义一个Java源文件,名为Test.java,其中包括:用户类Test、GeometricObject类、Circle类和Triangle类的定义。abstract class GeometricObject implements Comparable<
9、;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(GeometricObject o) if (thi
10、s.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; publi
11、c 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() r
12、eturn 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; p
13、ublic 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()
14、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),
15、 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(); /*抽象类
16、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类、Fa
17、culty类和Volunteer接口的定义。解题要求:编写用户测试程序,创建一个名为“Jerry”的副教授, 他参加了“北京市慈善义工协会”的活动,输出其姓名、职称和所属社团信息。效果如下:class Person private String name; public Person() public Person(String name) = name; Override public String toString() return "姓名" + + "n" interface Volunteer&
18、#160; 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 = "讲师" public static final Str
19、ing 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 vol
20、unteer(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、Facu
21、lty类和接口Volunteer的定义实现。解题要求:编写测试程序,创建一个名为“Tom”的一年级学生、“北京青年志愿者协会”成员,创建一个名为“JERRY”的助教、“北京市慈善义工协会”成员,输出两个人的姓名、年级和所属志愿者协会的基本信息。效果如下:interface Volunteer public abstract String volunteer(String organization);class Person private String name; public Person() public Person(String name) =
22、 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 SEN
23、IOR = 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 f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年库房转租合同转租条件、转租手续及租金处理分析
- 2024年企业内部审计保密协议
- 2024年度企业社会责任报告合同
- 2024年度住宅小区木门安装工程合同
- 2024年度许可使用合同(商标)
- 腰椎ct课件教学课件
- 2024北京技术合同
- 2024年大数据使用协议:数据收集、分析和应用的具体规定
- 液体密度课件教学课件
- 舆论学课件教学
- 一例“重度子痫前期”患者的个案护理
- 2024年安徽省皖能能源交易有限公司招聘笔试参考题库附带答案详解
- 2024江苏省南京市六校联考高三下学期英语试题及答案
- 辽宁抗日战争的起始地
- (高清版)DZT 0207-2020 矿产地质勘查规范 硅质原料类
- 地铁保洁服务档案管理
- 大学生食品行业生涯发展报告
- 瓷砖店运营可行性方案
- 生产工人劳动合同模板
- 新冠预防与控制
- 申论之大作文课件
评论
0/150
提交评论