如果函数返回 2 个值,例如:数组中的 min/max 或例如点的 x 和 y 轴,则需要创建一个对象,因为函数不能返回 2 个值。
现在,考虑一个客户端,其“唯一”功能是在返回的对象中使用 getter 并打印。AND 返回的对象说 MinMax 或 Point 对象仅由一个类创建,
我们应该使用嵌套类(例如:MinMax,Point 可以是嵌套类)还是使用顶级类?
这是一个通用问题 - 以下只是与该问题相关的一个示例。请完成与代码示例相关的答案,因为它是一个非常通用的问题,不受示例代码的约束。
Point 类是否应该是类似于 arraylist 返回的方式返回的内部类?
class Point {
private final int x;
private final int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
int getX() {
return x;
}
int getY() {
return y;
}
}
public class IntersectionOf2Lines {
public static Point calculateIntersection(Line line1, Line line2) {
int x = (line2.getConstant() - line1.getConstant()) / (line1.getSlope() - line2.getSlope());
int y = line1.getSlope() * x + line1.getConstant();
return new Point(x, y);
}
Line line3 = new Line(2, 2);
Line line4 = new Line(3, 2);
Point p1 = IntersectionOf2Lines.calculateIntersection(line3, line4);
System.out.println("Expected: x = 0, Actual x = " + p1.getX() + " Expected y=2, Actual y = " + p1.getY());