首页 > 解决方案 > 在 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;

标签: java

解决方案


您正在调用getVertices()没有参数声明的方法,并且在调用(vertex[1].x等)中传递了多个参数。所以你在这里做的是vertices直接访问,但是在方法调用中。

你可以做的要么是类似的getVertices()[0].x,要么直接访问它们。


推荐阅读