java - 在 getter 中访问 point[] 方法
问题描述
我正在尝试在另一种方法中访问 Point[] getter 方法,但我得到的错误是在第一个 vertex[0].x 上,这表明我不能将这个作为一个点,但是当我插入括号时,我得到了更多错误.
public double getArea() {
Point[] vertex = getVertices();
double area = ((vertex[0].x, vertex[1].y - vertex[0].y, vertex[1].x +
vertex[1].x, vertex[2].y - vertex[1].y, vertex[2].x +
vertex[2].x, vertex[3].y - vertex[2].y, vertex[3].x +
vertex[3].x, vertex[4].y - vertex[3].y, vertex[4].x +
vertex[4].x, vertex[5].y - vertex[4].y, vertex[5].x +
vertex[5].x, vertex[0].y - vertex[5].y, vertex[0].x/2)));
return Math.abs(area);
}
下面是包含数组的方法片段:
public Point[] getVertices() {
int x = this.getXPosition();
int y = this.getYPosition();
Point[] vertex = new Point[6];
Point p1 = new Point(x+this.getWidth()/2, y);
vertex[0] = p1;
Point p2 = new Point(x+this.getWidth(), y+(this.getHeight()/3));
vertex[1] = p2;
解决方案
您正在调用getVertices()
没有参数声明的方法,并且在调用(vertex[1].x
等)中传递了多个参数。所以你在这里做的是vertices
直接访问,但是在方法调用中。
你可以做的要么是类似的getVertices()[0].x
,要么直接访问它们。
推荐阅读
- javascript - Javascript回调不能在变量中赋值
- flutter - 从子项弹出时,根小部件未重建
- javascript - 如何在中心而不是顶部开始滚动(溢出-y:滚动)div?
- android - NotificationCompat - 无法阻止重新启动
- sql-server - 用于 SQL Server 的 Oracle 函数交换
- swift - 即使电子邮件格式不正确,验证也始终返回 true
- java - 如何在并发环境中获取 DynamoDB 中的下一个免费项目
- java - Android - 我们在 HashMap 中使用枚举作为键好吗
代替字符串? - html - HTML 嵌套表格输出不符合预期
- java - Zipkin & Sleuth,Tracer 缺少 createSpan 方法