编写一个Java Application程序,该程序有Point类、Circle类、Cylinder类以及测试类。 (1)设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x和y值的public方法以
时间: 2024-06-01 19:12:42 浏览: 174
及计算两点距离的方法。
public class Point {
protected double x;
protected double y;
public Point(double x, double y) {
this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
public double distance(Point p) {
return Math.sqrt(Math.pow(x - p.getX(), 2) + Math.pow(y - p.getY(), 2));
}
}
(2)设计一个表示圆的类Circle,包含有一个表示圆心的protected类型的成员变量center和一个表示半径的protected类型的成员变量radius,获取和设置center和radius值的public方法以及计算圆面积的方法。
public class Circle {
protected Point center;
protected double radius;
public Circle(Point center, double radius) {
this.center = center;
this.radius = radius;
}
public Point getCenter() {
return center;
}
public void setCenter(Point center) {
this.center = center;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double area() {
return Math.PI * Math.pow(radius, 2);
}
}
(3)设计一个表示圆柱的类Cylinder,继承自Circle类,包含有一个表示高度的protected类型的成员变量height,获取和设置height值的public方法以及计算圆柱体积的方法。
public class Cylinder extends Circle {
protected double height;
public Cylinder(Point center, double radius, double height) {
super(center, radius);
this.height = height;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public double volume() {
return super.area() * height;
}
}
(4)设计一个测试类Test,创建一个圆柱对象并输出其圆心坐标、半径、高度、面积和体积。
public class Test {
public static void main(String[] args) {
Point center = new Point(0, 0);
double radius = 5;
double height = 10;
Cylinder cylinder = new Cylinder(center, radius, height);
System.out.println("圆心坐标:" + cylinder.getCenter().getX() + "," + cylinder.getCenter().getY());
System.out.println("半径:" + cylinder.getRadius());
System.out.println("高度:" + cylinder.getHeight());
System.out.println("面积:" + cylinder.area());
System.out.println("体积:" + cylinder.volume());
}
}
阅读全文