求代码,感觉还是太菜,像求大神写代码以作参考,求大神写上代码,
你这也太懒了吧,把问题打出来啊!!
你可以关注 ITIL先锋这个微信公众号 上面每天更新前沿资讯 还有很多IT资料可以下载学习
哥们,把问题打出来,或者你把图换个方向。颈椎不好
我扭着脑袋读完了你的题目
编写一个Octagon类,它扩展GeometricObject类并实现Comparable 和Cloneable接口,假设八边形八条边的边长相等,编写一个测试程序,创建一个边长值为5的Octagon 对象,然后显示它的周长和面积。使用colon 方法创建一个新对象,并使用compareTo 方法比较这两个对象
package tempTest;
/*编写一个Octagon类,它扩展GeometricObject类并实现Comparable
使用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();
}