我在java中有一个家庭作业...我尝试了很多方法,但显然,stackoverflow是最后一个:(
所以,我有这个课程:
public final class Span {
private final double length;
public Span(){
this(0);
}
public Span(double length) {
this.length= length;
}
public double getLength(){
return length;
}
}
public final class Circle {
private Span radius;
//radius with double
public Circle(double radius) {
}
// span
public Circle(Span radius){
this.radius= radius;
}
//calculate area.....
public double area(double radius){
return Math.PI * (radius * radius);
}
可是:
**private Span radius**; <---- This is necessary :(
我必须创建Span(类型)半径(在Circle类中),跨度直径和跨度周长。
答案 0 :(得分:1)
公共决赛圈圈{
private Span radius;
//radius with double
public Circle(double radius) {
this.radius = new Span(radius);
}
// span
public Circle(Span radius){
this.radius= radius;
}
//calculate area.....
public double area(){
return Math.PI * (radius.getLength() * radius.getLength());
}
答案 1 :(得分:0)
除了原始双倍之外,在Span类中很难看到很多价值。我可以想到你可以添加的两个功能可以使它更有用:
IllegalArgumentException
。有了这些,你只需要能够使用跨度来计算:
double perimeter = 2.0*Math.PI*Span.getLength();
构建Circle
后,不应设置半径。让它告诉您该区域使用原始Span
。