gpt4 book ai didi

java - Circle 实现 - 如何建模以获取此信息

转载 作者:行者123 更新时间:2023-11-29 08:16:19 25 4
gpt4 key购买 nike

1. Find circle diameter from radius
2. Find circle diameter from perimeter
3. Find circle diameter from area

4. Find circle perimeter from diameter
5. Find circle perimeter from radius

6. Find circle radius from diameter
7. Find circle radius from perimeter
8. Find circle radius from area

目前我们的模型类是这样实现的..

class Circle {
double radius;

Circle (double r) {
}

// Solves 6,7,8
double getDiameter() {}
double getPerimeter() {}
double getArea() {}

// static functions to solve 1-5
// e.g. public static double getPermiter(double diameter) {..}
}

是否有更好的方法对上述类进行建模,以便我可以获取上述信息,因为给定某个参数(例如半径、直径、面积或周长),用户有望找到其他信息。

最佳答案

我可能更喜欢带有使用半径的构造函数的 Circle 类。您可以添加静态工厂方法以根据圆周和面积创建实例。

public class Circle
{
double radius;

public Circle(double radius)
{
this.radius = radius;
}

public static Circle fromCircumference(double circumference)
{
return new Circle(circumference / (Math.PI * 2));
}

public static Circle fromArea(double area)
{
return new Circle(Math.sqrt(area / Math.PI));
}

public double getCircumference()
{
return 2 * Math.PI * radius;
}

public double getRadius()
{
return radius;
}

public double getDiameter()
{
return 2 * radius;
}

public double getArea()
{
return Math.PI * radius * radius;
}
}

关于java - Circle 实现 - 如何建模以获取此信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4592252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com