|
public class Test {
public static void main(String[] args) {
Ball ball=new Ball(5);
ball.print();
System.out.println("面积:"+ball.graphicA());
System.out.println("体积:"+ball.graphicV());
Cylinder c=new Cylinder(3,5);
c.print();
System.out.println("面积:"+c.graphicA());
System.out.println("体积:"+c.graphicV());
Cone cone=new Cone(7,8);
cone.print();
System.out.println("面积:"+c.graphicA());
System.out.println("体积:"+c.graphicV());
Rectangle r=new Rectangle(3,5);
r.print();
System.out.println("表面积:"+r.graphicA());
System.out.println("周长:"+r.graphicL());
Triangle t=new Triangle(3,4,5);
t.print();
System.out.println("表面积:"+t.graphicA());
System.out.println("周长:"+t.graphicL());
Circle circle=new Circle(3);
circle.print();
System.out.println("表面积:"+circle.graphicA());
System.out.println("周长:"+circle.graphicL());
}
}
abstract class GeometricGraph {
public abstract void print();
}
abstract class ThreeDimensionalGraphics extends GeometricGraph{
public abstract double graphicA();
public abstract double graphicV();
}
//球类
class Ball extends ThreeDimensionalGraphics{
private double side01;
public Ball(double side01) {
this.side01 = side01;
}
public void setSide01(double side01){
this.side01=side01;
}
public double getSide01(){
return this.side01;
}
public double graphicA(){
return 4*3.14*side01*side01;
}
public double graphicV(){
double v=3.14*3/4*side01*side01*side01;
return v;
}
public void print(){
System.out.println("这是一个球类计算方式:");
}
}
//这是一个圆柱体
class Cylinder extends ThreeDimensionalGraphics{
private double side01;
private double side02;
public Cylinder(double side01, double side02) {
this.side01 = side01;
this.side02 = side02;
}
public void setSide01(double side01){
this.side01=side01;
}
public void setSide02(double side02){
this.side02=side02;
}
public double getSide01(){
return this.side01;
}
public double getSide02(){
return this.side02;
}
public double graphicA(){
return 2*3.14*side01*side01+2*3.14*side01*side02;
}
public double graphicV(){
return 3.14*side01*side01*side02;
}
public void print() {
System.out.println("这是一个圆柱体计算方式:");
}
}
//圆锥类
class Cone extends ThreeDimensionalGraphics{
private double side01;
private double side02;
public Cone(double side01, double side02) {
this.side01 = side01;
this.side02 = side02;
}
public void setSide01(double side01){
this.side01=side01;
}
public void setSide02(double side02){
this.side02=side02;
}
public double getSide01(){
return this.side01;
}
public double getSide02(){
return this.side02;
}
public double graphicA(){
return 3.14*side01*side01+3.14*side01*java.lang.Math.sqrt(side02*side02+side01*side01);
}
public double graphicV(){
return 3.14/3*side01*side01*side02;
}
@Override
public void print() {
System.out.println("这是一个圆锥体计算方式:");
}
}
abstract class PlantGraph extends GeometricGraph{
public abstract double graphicA();
public abstract double graphicL();
}
//矩形类
class Rectangle extends PlantGraph{
private double side01;
private double side02;
public Rectangle(double side01, double side02) {
this.side01 = side01;
this.side02 = side02;
}
public void setSide01(double side01){
this.side01=side01;
}
public void setSide02(double side02){
this.side02=side02;
}
public double getSide01(){
return this.side01;
}
public double getSide02(){
return this.side02;
}
public double graphicA(){
return side01*side02;
}
public double graphicL(){
return 2*(side01+side02);
}
public void print() {
System.out.println("这是一个矩形类计算方式:");
}
}
//三角形
class Triangle extends PlantGraph{
private double side01;
private double side02;
private double side03;
public Triangle(double side01, double side02, double side03) {
this.side01 = side01;
this.side02 = side02;
this.side03 = side03;
}
public void setSide01(double side01){
this.side01=side01;
}
public void setSide02(double side02){
this.side02=side02;
}
public void setSide03(double side03){
this.side03=side03;
}
public double getSide01(){
return this.side01;
}
public double getSide02(){
return this.side02;
}
public double getSide03(){
return this.side03;
}
public double graphicA(){
return side01*(java.lang.Math.sqrt(java.lang.Math.abs(side03*side03-side01*side01))/2);
}
public double graphicL(){
return side01+side02+side03;
}
@Override
public void print() {
System.out.println("这是一个三角形计算方式:");
}
}
//圆形类
class Circle extends PlantGraph{
private double side01;
public Circle(double side01) {
this.side01 = side01;
}
public void setSide01(double side01){
this.side01=side01;
}
public double getSide01(){
return this.side01;
}
public double graphicA(){
return 3.14*side01*side01;
}
public double graphicL(){
return 2*3.14*side01;
}
@Override
public void print() {
System.out.println("这是一个圆形类计算方式:");
}
}
|
|