Java 如何修改for循环以使其不';不要把第一个和最后一个比较,而是把其他的东西和最后一个比较?

Java 如何修改for循环以使其不';不要把第一个和最后一个比较,而是把其他的东西和最后一个比较?,java,polygon,Java,Polygon,例如,我这里有一个点列表 列表= 我想和和比较,但不是 但其他一切都可以与之相比 基本上第一个和最后一个元素不能比较,因为这意味着我的多边形是闭合的 for(int i = 0; i < this.points.size()-1; i++) { Point firstPoint = this.points.get(i); for(int j = i+1; j < this.points.size(); j++) {

例如,我这里有一个点列表

列表=

我想和和比较,但不是 但其他一切都可以与之相比

基本上第一个和最后一个元素不能比较,因为这意味着我的多边形是闭合的

    for(int i = 0; i < this.points.size()-1; i++) {
        Point firstPoint = this.points.get(i);
        for(int j = i+1; j < this.points.size(); j++)   {
            Point secondPoint = this.points.get(j);

            Line2D line1 = new Line2D.Double(firstPoint.getX(), firstPoint.getY(), secondPoint.getX(), secondPoint.getY());
            Line2D line2 = new Line2D.Double(((Line) aLine).getStart().getX(),((Line) aLine).getStart().getY(),((Line) aLine).getEnd().getX(),((Line) aLine).getEnd().getY());
            boolean result = line2.intersectsLine(line1);
            if(!result) {

        }
for(int i=0;i
您可以向内部循环添加一个条件
(i!=0 | | j!=this.points.size()-1)

for(int i = 0; i < this.points.size()-1; i++) {
    Point firstPoint = this.points.get(i);
    for(int j = i + 1; j < this.points.size() && (i != 0 || j != this.points.size() - 1); j++) {
     ....
    }
}
for(int i=0;i

如果没有,您可以添加一个
continue
语句,如果
i==0
j==this.points.szie()-1

,您可以实现以下所需的输出:

boolean isFirstElement = true;
for (int i = 0; i < pList.size() - 1; i++) {
    Point pointOne = pList.get(i);
    for (int j = i + 1; j < pList.size(); j++) {
        Point pointTwo = pList.get(j);
        if (j + 1 == pList.size() && isFirstElement) {
            continue;
        } else {
            // your comparison logic goes here...
        }
    }
    isFirstElement = false;
}
boolean isFirstElement=true;
对于(int i=0;i
如果(j+1==pList.size()&&i==0)
就可以了,那么不必使用额外的变量
isFirstElement