求代码,感觉还是太菜,像求大神写代码以作参考

求代码,感觉还是太菜,像求大神写代码以作参考,求大神写上代码,图片说明

你这也太懒了吧,把问题打出来啊!!

你可以关注 ITIL先锋这个微信公众号 上面每天更新前沿资讯 还有很多IT资料可以下载学习

哥们,把问题打出来,或者你把图换个方向。颈椎不好

我扭着脑袋读完了你的题目

编写一个Octagon类,它扩展GeometricObject类并实现Comparable 和Cloneable接口,假设八边形八条边的边长相等,编写一个测试程序,创建一个边长值为5的Octagon 对象,然后显示它的周长和面积。使用colon 方法创建一个新对象,并使用compareTo 方法比较这两个对象

package tempTest;

/*编写一个Octagon类,它扩展GeometricObject类并实现Comparable

  • 和Cloneable接口,假设八边形八条边的边长相等,编写一个测试程序,
  • 创建一个边长值为5的Octagon 对象,然后显示它的周长和面积。
  • 使用colon 方法创建一个新对象,并使用compareTo 方法比较这两个对象*/
    public class Octagon extends GeometricObject implements Comparable, Cloneable{

    private double edgeLength;

    public double getEdgeLength() {
    return edgeLength;
    }
    public void setEdgeLength(double edgeLength) {
    this.edgeLength = edgeLength;
    }
    public Octagon(double edgeLength) {
    this.edgeLength = edgeLength;
    }
    @Override
    public double getArea() {
    double edl2p = Math.pow(edgeLength, 2);
    double sqrt2 = Math.sqrt(2);
    return (2+2*sqrt2)*edl2p;
    }

    @Override
    public double getPerimeter() {
    return 8*edgeLength;
    }

    @Override
    public int compareTo(Octagon o) {
    if(o.getArea()==getArea()) {
    return 0;
    }else {
    return (getArea()-o.getArea()) > 0?1:-1;
    }
    }

    @Override
    protected Octagon clone() throws CloneNotSupportedException {
    Octagon octagon = null;
    octagon = (Octagon)super.clone();
    octagon.setEdgeLength(edgeLength);
    return octagon;
    }
    }

package tempTest;

import java.util.Date;

public abstract class GeometricObject {
private String color = "white";
private boolean filled;
Date dateCreated;

protected GeometricObject() {
    dateCreated = new Date();
}

protected GeometricObject(String color, boolean filled) {
    this.color = color;
    this.filled = filled;
    Date dateCreated = new Date();
}

public String getColor() {
    return color;
}

public void setColor(String color) {
    this.color = color;
}

public boolean isFilled() {
    return filled;
}

public void setFilled(boolean filled) {
    this.filled = filled;
}

public Date getDateCreated() {
    return dateCreated;
}

public String toString() {
    return "Created on " + dateCreated + "\ncolor " + color +
            " and filled" + filled;
}

public abstract double getArea();

public abstract double getPerimeter();

}